Ruby 2.0.0p353(2013-11-22revision43784)

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

memmove.c
Go to the documentation of this file.
1 /* public domain rewrite of memcmp(3) */
2
3 #include "ruby/missing.h"
4 #include <stddef.h>
5
6 void *
7 memmove(void *d, const void *s, size_t n)
8 {
9 char *dst = (char *)d;
10 const char *src = (const char *)s;
11
12 if (src < dst) {
13 src += n;
14 dst += n;
15 for (; n; --n)
16 *--dst = *--src;
17 }
18 else if (dst < src)
19 for (; n; --n)
20 *dst++ = *src++;
21 return d;
22 }
n
ssize_t n
Definition: bigdecimal.c:5655
memmove
RUBY_EXTERN void * memmove(void *, const void *, size_t)
Definition: memmove.c:7
missing.h
d
d
Definition: strlcat.c:58
s
register char * s
Definition: os2.c:56
src
VALUE src
Definition: tcltklib.c:7953
dst
char * dst
Definition: tcltklib.c:9868