[rubygems/rubygems] Use a constant empty tar header to avoid extra allocations
[ruby.git] / missing / memmove.c
blobe8e17e87e7231cbec36690bde42c5762571a8cb0
1 /* public domain rewrite of memcmp(3) */
3 #include "ruby/missing.h"
4 #include <stddef.h>
6 void *
7 memmove(void *d, const void *s, size_t n)
9 char *dst = (char *)d;
10 const char *src = (const char *)s;
12 if (src < dst) {
13 src += n;
14 dst += n;
15 for (; n; --n)
16 *--dst = *--src;
18 else if (dst < src)
19 for (; n; --n)
20 *dst++ = *src++;
21 return d;