ref: c598dd38d7d921a59b9afa44fa5b7c8b8ae08e37
dir: /libc/src/memmove.c/
/* See LICENSE file for copyright and license details. */ #include <string.h> #undef memmove void * memmove(void *dst, const void *src, size_t n) { char *d = dst, *s = (char *) src; if (d < s) { while (n-- > 0) *d++ = *s++; } else { s += n-1, d += n-1; while (n-- > 0) *d-- = *s--; } return dst; }