]> pd.if.org Git - pdclib/blob - functions/string/memmove.c
Re-import from Subversion.
[pdclib] / functions / string / memmove.c
1 /* ----------------------------------------------------------------------------
2  * $Id$
3  * ----------------------------------------------------------------------------
4  * Public Domain C Library - http://pdclib.sourceforge.net
5  * This code is Public Domain. Use, modify, and redistribute at will.
6  * --------------------------------------------------------------------------*/
7
8 #include <__size_t.h>
9
10 void * memmove( void * dest, const void * src, size_t n )
11 {
12     const char * src_p = (const char *) src;
13     char * dest_p = (char *) dest;
14     if ( dest_p < src_p )
15     {
16         while ( n-- )
17         {
18             *dest_p++ = *src_p++;
19         }
20     }
21     else
22     {
23         src_p += n;
24         dest_p += n;
25         while ( n-- )
26         {
27             *dest_p-- = *src_p--;
28         }
29     }
30     return dest;
31 }