Ruby
2.5.0dev(2017-10-22revision60238)
missing
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
}
missing.h
memmove
void * memmove(void *d, const void *s, size_t n)
Definition:
memmove.c:7
Generated by
1.8.13