00001 /* Public domain. */ 00002 #include <stddef.h> 00003 00004 void * 00005 memmove (void *dest, const void *src, size_t len) 00006 { 00007 char *d = dest; 00008 const char *s = src; 00009 if (d < s) 00010 while (len--) 00011 *d++ = *s++; 00012 else 00013 { 00014 char *lasts = s + (len-1); 00015 char *lastd = d + (len-1); 00016 while (len--) 00017 *lastd-- = *lasts--; 00018 } 00019 return dest; 00020 }
1.5.6