diff options
Diffstat (limited to 'expect/exp_memmove.c')
-rw-r--r-- | expect/exp_memmove.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/expect/exp_memmove.c b/expect/exp_memmove.c new file mode 100644 index 00000000000..324bc2db844 --- /dev/null +++ b/expect/exp_memmove.c @@ -0,0 +1,25 @@ +/* memmove - some systems lack this */ + +#include "expect_cf.h" +#include "tcl.h" + +/* like memcpy but can handle overlap */ +#ifndef HAVE_MEMMOVE +char * +memmove(dest,src,n) +VOID *dest; +CONST VOID *src; +int n; +{ + char *d; + CONST char *s; + + d = dest; + s = src; + if (s<d && (d < s+n)) { + for (d+=n, s+=n; 0<n; --n) + *--d = *--s; + } else for (;0<n;--n) *d++ = *s++; + return dest; +} +#endif /* HAVE_MEMMOVE */ |