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
ocean c0851c650f * missing.h, missing/memcmp.c, missing/memmove.c:
ANSI compatible interface.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-27 02:55:18 +00:00

21 lines
346 B
C

/* public domain rewrite of memcmp(3) */
#include <stddef.h>
void *
memmove(void *d, const void *s, size_t n)
{
char *dst = (char *)d;
const char *src = (const char *)s;
if (src < dst) {
src += n;
dst += n;
for (; n; --n)
*--dst = *--src;
}
else if (dst < src)
for (; n; --n)
*dst++ = *src++;
return d;
}