1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/missing/memmove.c
eban fbcac5f129 * missing/memmove.c (memmove): take void *, not char *.
* missing.h (memmove): ditto.
* missing.h (strchr, strrchr): return char *, not int.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-18 14:34:18 +00:00

22 lines
318 B
C

/* public domain rewrite of memcmp(3) */
void *
memmove (d, s, n)
void *d, *s;
int n;
{
char *dst = d;
char *src = s;
void *ret = dst;
if (src < dst) {
src += n;
dst += n;
while (n--)
*--dst = *--src;
}
else if (dst < src)
while (n--)
*dst++ = *src++;
return ret;
}