blob: bc5f28b0637439f55ce69e0bf1da017207fb0a14 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#ifndef MRB_VALUE_ARRAY_H__
#define MRB_VALUE_ARRAY_H__
#include <mruby.h>
static inline void
value_move(mrb_value *s1, const mrb_value *s2, size_t n)
{
if (s1 > s2 && s1 < s2 + n)
{
s1 += n;
s2 += n;
while (n-- > 0) {
*--s1 = *--s2;
}
}
else if (s1 != s2) {
while (n-- > 0) {
*s1++ = *s2++;
}
}
else {
/* nothing to do. */
}
}
#endif /* MRB_VALUE_ARRAY_H__ */
|