diff options
Diffstat (limited to 'memmove.c')
-rw-r--r-- | memmove.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/memmove.c b/memmove.c new file mode 100644 index 00000000..2ffab60c --- /dev/null +++ b/memmove.c @@ -0,0 +1,22 @@ +/* + * Scratch implementation of memmove() in case your C library lacks one. + * + * For license terms, see the file COPYING in this directory. + */ +char *memmove(char *dst, register char *src, register int n) +{ + register char *svdst; + + if ((dst > src) && (dst < src + n)) + { + src += n; + for (svdst = dst + n; n-- > 0; ) + *--svdst = *--src; + } + else + { + for (svdst = dst; n-- > 0; ) + *svdst++ = *src++; + } + return dst; +} |