1#include "common/memrchr.h"
2#include <stddef.h>
3#include <stdint.h>
4
5void* memrchr(const void* s, int c, size_t n) {
6 if (n == 0) {
7 return nullptr;
8 }
9
10 const uint8_t uc = (uint8_t) c;
11
12 const uint8_t* p = (const uint8_t*) s + n;
13
14 while (n--) {
15 if (*--p == uc) {
16 return (void*) p;
17 }
18 }
19
20 return nullptr;
21}