#include void *memmove(void *vdest, const void *vsrc, size_t count) { const char *src = vsrc; char *dest = vdest; if (dest <= src) { while (count--) { *dest++ = *src++; } } else { src += count - 1; dest += count - 1; while(count--) { *dest-- = *src--; } } return vdest; }