freebsd-skq/contrib/gcc/config/memmove.c

21 lines
344 B
C
Raw Normal View History

2007-05-19 01:19:51 +00:00
/* 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;
}