/* memmove( void *, const void *, size_t ) This file is part of the Public Domain C Library (PDCLib). Permission is granted to use, modify, and / or redistribute at will. */ #include void * memmove( void * s1, const void * s2, size_t n ) { char * dest = ( char * ) s1; const char * src = ( const char * ) s2; if ( dest <= src ) { while ( n-- ) { *dest++ = *src++; } } else { src += n; dest += n; while ( n-- ) { *--dest = *--src; } } return s1; }