remove dependency of memmove on memcpy direction
[musl] / src / string / memmove.c
1 #include <string.h>
2
3 void *memmove(void *dest, const void *src, size_t n)
4 {
5         char *d = dest;
6         const char *s = src;
7         if (d==s) return d;
8         if ((size_t)(d-s) < n)
9                 while (n--) d[n] = s[n];
10         else
11                 while (n--) *d++ = *s++;
12         return dest;
13 }