1/* Public domain. */ 2#include <stddef.h> 3 4void * 5memmove (void *dest, const void *src, size_t len) 6{ 7 char *d = dest; 8 const char *s = src; 9 if (d < s) 10 while (len--) 11 *d++ = *s++; 12 else 13 { 14 char *lasts = s + (len-1); 15 char *lastd = d + (len-1); 16 while (len--) 17 *lastd-- = *lasts--; 18 } 19 return dest; 20} 21