Sha256: fd8a5b3898b25d0e4b59a44c7745838853ec90b560cb3558a24db5dfe7ec191d

Contents?: true

Size: 895 Bytes

Versions: 50

Compression:

Stored size: 895 Bytes

Contents

/**
 * @file pm_memchr.h
 *
 * A custom memchr implementation.
 */
#ifndef PRISM_MEMCHR_H
#define PRISM_MEMCHR_H

#include "prism/defines.h"
#include "prism/encoding.h"

#include <stddef.h>

/**
 * We need to roll our own memchr to handle cases where the encoding changes and
 * we need to search for a character in a buffer that could be the trailing byte
 * of a multibyte character.
 *
 * @param source The source string.
 * @param character The character to search for.
 * @param number The maximum number of bytes to search.
 * @param encoding_changed Whether the encoding changed.
 * @param encoding A pointer to the encoding.
 * @return A pointer to the first occurrence of the character in the source
 *     string, or NULL if no such character exists.
 */
void * pm_memchr(const void *source, int character, size_t number, bool encoding_changed, const pm_encoding_t *encoding);

#endif

Version data entries

50 entries across 28 versions & 5 rubygems

Version Path
datadog-ruby_core_source-3.4.0 lib/datadog/ruby_core_source/ruby-3.4.0-p0/prism/util/pm_memchr.h
datadog-ruby_core_source-3.4.0 lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_memchr.h
datadog-ruby_core_source-3.4.0 lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_memchr.h
avalara_sdk-24.12.2 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-3.4.1/lib/debase/ruby_core_source/ruby-3.4.0-p-1/prism/util/pm_memchr.h
avalara_sdk-24.12.2 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-3.4.1/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_memchr.h
avalara_sdk-24.12.2 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-3.4.1/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_memchr.h
debase-ruby_core_source-3.4.1 lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_memchr.h
debase-ruby_core_source-3.4.1 lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_memchr.h
debase-ruby_core_source-3.4.1 lib/debase/ruby_core_source/ruby-3.4.0-p-1/prism/util/pm_memchr.h
debase-ruby_core_source-3.4.0 lib/debase/ruby_core_source/ruby-3.4.0/prism/util/pm_memchr.h
debase-ruby_core_source-3.4.0 lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_memchr.h
debase-ruby_core_source-3.4.0 lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_memchr.h
avalara_sdk-24.12.0 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-3.3.6/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_memchr.h
avalara_sdk-24.12.0 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-3.3.6/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_memchr.h
avalara_sdk-24.12.0 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-3.3.6/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_memchr.h
avalara_sdk-24.12.0 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-3.3.6/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_memchr.h
prism-1.3.0 include/prism/util/pm_memchr.h
datadog-ruby_core_source-3.3.7 lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_memchr.h
datadog-ruby_core_source-3.3.7 lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_memchr.h
datadog-ruby_core_source-3.3.7 lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_memchr.h