#include <string.h>

#undef memmove

void *memmove(void *s1,const void *s2,size_t n)
/*  s.o.    */
{
    char *d=(char *)s1,*s=(char *)s2;
    if(s<d){
        d+=n;s+=n;
        while(n) {n--;*--d=*--s;}
    }else{
        while(n) {n--;*d++=*s++;}
    }
    return(s1);
}
