#include <string.h>
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;
*dest-- = *src--;
}
return vdest;