2001-03-06 08:17:54 +00:00
|
|
|
/* public domain rewrite of memcmp(3) */
|
1998-01-16 12:13:05 +00:00
|
|
|
|
2003-11-18 14:34:18 +00:00
|
|
|
void *
|
|
|
|
memmove (d, s, n)
|
|
|
|
void *d, *s;
|
2001-03-06 08:17:54 +00:00
|
|
|
int n;
|
1998-01-16 12:13:05 +00:00
|
|
|
{
|
2003-11-18 14:34:18 +00:00
|
|
|
char *dst = d;
|
|
|
|
char *src = s;
|
|
|
|
void *ret = dst;
|
1998-01-16 12:13:05 +00:00
|
|
|
|
2001-03-06 08:17:54 +00:00
|
|
|
if (src < dst) {
|
|
|
|
src += n;
|
|
|
|
dst += n;
|
|
|
|
while (n--)
|
|
|
|
*--dst = *--src;
|
|
|
|
}
|
|
|
|
else if (dst < src)
|
|
|
|
while (n--)
|
|
|
|
*dst++ = *src++;
|
|
|
|
return ret;
|
1998-01-16 12:13:05 +00:00
|
|
|
}
|