• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)7  PyOS_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)20  PyOS_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