Ruby 4.1.0dev (2026-09-12 revision dac86d0d354e33a8ea90376a7ef30e74872d7b46)
memchr.h
1#ifndef PRISM_INTERNAL_MEMCHR_H
2#define PRISM_INTERNAL_MEMCHR_H
3
4#include "prism/internal/encoding.h"
5
6#include <stddef.h>
7
8/*
9 * We need to roll our own memchr to handle cases where the encoding changes and
10 * we need to search for a character in a buffer that could be the trailing byte
11 * of a multibyte character.
12 */
13const void * pm_memchr(const void *source, int character, size_t number, bool encoding_changed, const pm_encoding_t *encoding);
14
15#endif