Ruby: prism/util/pm_strncasecmp.h File Reference

Ruby 4.0.5p0 (2026-05-20 revision 64336ffd0ee9e1f4c05891695a3d7b49cb709721)

Functions
pm_strncasecmp.h File Reference

A custom strncasecmp implementation. More...

`#include "prism/defines.h"`
`#include <ctype.h>`
`#include <stddef.h>`
`#include <stdint.h>`

Go to the source code of this file.

## Functions
int | pm_strncasecmp (const uint8_t *string1, const uint8_t *string2, size_t length)
| Compare two strings, ignoring case, up to the given length.

## Detailed Description

A custom strncasecmp implementation.

Definition in file pm_strncasecmp.h.

## Function Documentation

## ◆ pm_strncasecmp()

int pm_strncasecmp | ( | const uint8_t * | string1,
|  | const uint8_t * | string2,
|  | size_t | length )

Compare two strings, ignoring case, up to the given length.

Returns 0 if the strings are equal, a negative number if string1 is less than string2, or a positive number if string1 is greater than string2.

Note that this is effectively our own implementation of strncasecmp, but it's not available on all of the platforms we want to support so we're rolling it here.

Parameters

  string1 | The first string to compare.
  string2 | The second string to compare
  length | The maximum number of characters to compare.

Returns
  0 if the strings are equal, a negative number if string1 is less than string2, or a positive number if string1 is greater than string2.

Returns 0 if the strings are equal, a negative number if string1 is less than string2, or a positive number if string1 is greater than string2.

Note that this is effectively our own implementation of strncasecmp, but it's not available on all of the platforms we want to support so we're rolling it here.

Definition at line 25 of file pm_strncasecmp.c.