Ruby 3.5.0dev (2025-02-22 revision b17f984e4e903d3ece3013c1488279d1947dfc39)
pm_strncasecmp.c
2
12int
13pm_strncasecmp(const uint8_t *string1, const uint8_t *string2, size_t length) {
14 size_t offset = 0;
15 int difference = 0;
16
17 while (offset < length && string1[offset] != '\0') {
18 if (string2[offset] == '\0') return string1[offset];
19 if ((difference = tolower(string1[offset]) - tolower(string2[offset])) != 0) return difference;
20 offset++;
21 }
22
23 return difference;
24}
A custom strncasecmp implementation.