X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2Fstring%2Fmemmove.c;fp=functions%2Fstring%2Fmemmove.c;h=b46a15ac564df629543b63a785f90fb4d26cc666;hb=c2f1367984ba4153d892062759c3813020b65a9a;hp=0000000000000000000000000000000000000000;hpb=3220f577b186e04180acd7554a785c60dfb7ebb2;p=pdclib diff --git a/functions/string/memmove.c b/functions/string/memmove.c new file mode 100644 index 0000000..b46a15a --- /dev/null +++ b/functions/string/memmove.c @@ -0,0 +1,34 @@ +/* $Id$ */ + +/* Release $Name$ */ + +/* 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; +}