blob: 0b21d2541566b5de4b4e75d7cdbbac1595c2ec96 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include <string.h>
volatile void *memmovev(volatile void *dest, const volatile void *src, size_t n)
{
volatile char *d = dest;
volatile const char *s = src;
if (d == s)
return d;
if (d < s) {
for (; n; n--)
*d++ = *s++;
} else {
while (n)
n--, d[n] = s[n];
}
return dest;
}
|