21 lines
344 B
C
21 lines
344 B
C
/* Public domain. */
|
|
#include <stddef.h>
|
|
|
|
void *
|
|
memmove (void *dest, const void *src, size_t len)
|
|
{
|
|
char *d = dest;
|
|
const char *s = src;
|
|
if (d < s)
|
|
while (len--)
|
|
*d++ = *s++;
|
|
else
|
|
{
|
|
char *lasts = s + (len-1);
|
|
char *lastd = d + (len-1);
|
|
while (len--)
|
|
*lastd-- = *lasts--;
|
|
}
|
|
return dest;
|
|
}
|