|
4 | 4 | #include <stddef.h>
|
5 | 5 | #include <malloc.h>
|
6 | 6 |
|
7 |
| -static __inline__ void * memcpy(void * _s1, const void * _s2, size_t n) { |
8 |
| - uint8_t * s1 = (uint8_t *) _s1; |
9 |
| - const uint8_t * s2 = (uint8_t *) _s2; |
10 |
| - size_t i; |
11 |
| - |
12 |
| - for (i = 0; i < n; i++) |
13 |
| - *s1++ = *s2++; |
14 |
| - |
15 |
| - return _s1; |
16 |
| -} |
17 |
| - |
18 |
| -static __inline__ void * memmove(void * _s1, const void * _s2, size_t n) { |
19 |
| - uint8_t * s1 = (uint8_t *) _s1; |
20 |
| - const uint8_t * s2 = (uint8_t *) _s2; |
21 |
| - size_t i; |
22 |
| - |
23 |
| - if (s1 < s2) { |
24 |
| - for (i = 0; i < n; i++) |
25 |
| - *s1++ = *s2++; |
26 |
| - } else if (s1 > s2) { |
27 |
| - s1 += n; |
28 |
| - s2 += n; |
29 |
| - for (i = 0; i < n; i++) |
30 |
| - *--s1 = *--s2; |
31 |
| - } |
32 |
| - |
33 |
| - return _s1; |
34 |
| -} |
35 |
| - |
36 |
| -static __inline__ int memcmp(const void * _s1, const void * _s2, size_t n) { |
37 |
| - uint8_t * s1 = (uint8_t *) _s1; |
38 |
| - const uint8_t * s2 = (uint8_t *) _s2; |
39 |
| - size_t i; |
40 |
| - |
41 |
| - for (i = 0; i < n; i++, s1++, s2++) { |
42 |
| - if (*s1 < *s2) { |
43 |
| - return -1; |
44 |
| - } else if (*s1 > *s2) { |
45 |
| - return 1; |
46 |
| - } |
47 |
| - } |
48 |
| - |
49 |
| - return 0; |
50 |
| -} |
51 |
| - |
52 |
| -static __inline__ void * memset(void * _s, int c, size_t n) { |
53 |
| - uint8_t * s = (uint8_t *) _s; |
54 |
| - size_t i; |
55 |
| - |
56 |
| - for (i = 0; i < n; i++) |
57 |
| - *s++ = (uint8_t) c; |
58 |
| - |
59 |
| - return _s; |
60 |
| -} |
| 7 | +void * memcpy(void * _s1, const void * _s2, size_t n); |
| 8 | +void * memmove(void * _s1, const void * _s2, size_t n); |
| 9 | +int memcmp(const void * _s1, const void * _s2, size_t n); |
| 10 | +void * memset(void * _s, int c, size_t n); |
61 | 11 |
|
62 | 12 | static __inline__ const void * memchr(const void * _s, int c, size_t n) {
|
63 | 13 | const uint8_t * s = (uint8_t *) _s;
|
|
0 commit comments