Line data Source code
1 : /* Cross platform case insensitive string compare functions
2 : */
3 :
4 : #include "Python.h"
5 :
6 : int
7 0 : PyOS_mystrnicmp(const char *s1, const char *s2, Py_ssize_t size)
8 : {
9 0 : if (size == 0)
10 0 : return 0;
11 0 : while ((--size > 0) &&
12 0 : (tolower((unsigned)*s1) == tolower((unsigned)*s2))) {
13 0 : if (!*s1++ || !*s2++)
14 : break;
15 : }
16 0 : return tolower((unsigned)*s1) - tolower((unsigned)*s2);
17 : }
18 :
19 : int
20 0 : PyOS_mystricmp(const char *s1, const char *s2)
21 : {
22 0 : while (*s1 && (tolower((unsigned)*s1++) == tolower((unsigned)*s2++))) {
23 : ;
24 : }
25 0 : return (tolower((unsigned)*s1) - tolower((unsigned)*s2));
26 : }
|