Root/
1 | /*␊ |
2 | * memrchr.c␊ |
3 | */␊ |
4 | ␊ |
5 | #include <stddef.h>␊ |
6 | #include <string.h>␊ |
7 | ␊ |
8 | void *memrchr(const void *s, int c, size_t n)␊ |
9 | {␊ |
10 | ␉const unsigned char *sp = (const unsigned char *)s + n - 1;␊ |
11 | ␊ |
12 | ␉while (n--) {␊ |
13 | ␉␉if (*sp == (unsigned char)c)␊ |
14 | ␉␉␉return (void *)sp;␊ |
15 | ␉␉sp--;␊ |
16 | ␉}␊ |
17 | ␊ |
18 | ␉return NULL;␊ |
19 | }␊ |
20 |