ruby/missing/memrchr.c
Nobuyoshi Nakada 4b638eecd1 Provide a fallback implementation of memrchr
Move the local fallback out of string.c so other source files can use
memrchr on platforms that do not provide it.
2026-07-15 13:28:39 +09:00

13 lines
272 B
C

#include "ruby/missing.h"
void *
memrchr(const void *ptr, int ch, size_t len)
{
const unsigned char *p = (const unsigned char *)ptr + len;
while (p > (const unsigned char *)ptr) {
if (*--p == (unsigned char)ch) return (void *)p;
}
return NULL;
}