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