master ohmu/fastfetch-openbsd / src / common / impl / memrchr.c
ohmu  ·  2026-10-15
 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}