blob: 22bb4b3559d3e76a8f064028925352f78a735ab8 [file] [log] [blame]
#include <string.h>
void *memmove(void *dest, const void *src, size_t n)
{
char *d = dest;
const char *s = src;
if (d==s) return d;
if ((size_t)(d-s) < n) {
while (n--) d[n] = s[n];
return dest;
}
/* Assumes memcpy is overlap-safe when dest < src */
return memcpy(d, s, n);
}