4 void *memchr(const void *s
, int c
, size_t n
)
6 const unsigned char *b
= s
;
9 if (*(b
++) == (unsigned char)c
) {
10 return (void *)(b
- 1);
17 int memcmp(const void *s1
, const void *s2
, size_t n
)
20 const unsigned char *b1
= s1
, *b2
= s2
;
22 while (n
-- && !(ret
= *(b2
++) - *(b1
++)));
27 void *memmove(void *d
, const void *s
, size_t n
)
29 const uint8_t *s8
= s
;
32 if ((uintptr_t)d
< (uintptr_t)s
|| (uintptr_t)s
+ n
<= (uintptr_t)d
) {
45 char *strcat(char *restrict d
, const char *restrict s
)
60 char *strcpy(char *restrict d
, const char *restrict s
)
72 int strcmp(const char *s1
, const char *s2
)
76 while (!(ret
= (unsigned char)*(s2
++) - (unsigned char)*s1
)) {