Ruby
2.7.7p221 (2022-11-24 revision 168ec2b1e5ad0e4688e963d9de019557c78feed9)
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
}
memmove
void * memmove(void *d, const void *s, size_t n)
Definition:
memmove.c:7
missing.h
n
const char size_t n
Definition:
rb_mjit_min_header-2.7.7.h:5525
src
__inline__ const void *__restrict__ src
Definition:
rb_mjit_min_header-2.7.7.h:3017
Generated by
1.9.2