diff options
Diffstat (limited to 'mdk-stage1/dietlibc/lib/memmove.c')
-rw-r--r-- | mdk-stage1/dietlibc/lib/memmove.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/lib/memmove.c b/mdk-stage1/dietlibc/lib/memmove.c new file mode 100644 index 000000000..7adb2be91 --- /dev/null +++ b/mdk-stage1/dietlibc/lib/memmove.c @@ -0,0 +1,23 @@ +#define _POSIX_SOURCE +#define _XOPEN_SOURCE +#include <sys/types.h> + +void *memmove(void *dst, const void *src, size_t count) +{ + char *a = dst; + const char *b = src; + if (src!=dst) + { + if (src>dst) + { + while (count--) *a++ = *b++; + } + else + { + a+=count-1; + b+=count-1; + while (count--) *a-- = *b--; + } + } + return dst; +} |