Home | History | Annotate | Line # | Download | only in libhack
      1  1.3  christos /*	$NetBSD: strcasecmp.c,v 1.3 2019/08/13 08:48:07 christos Exp $	*/
      2  1.1    martin 
      3  1.1    martin /*
      4  1.1    martin  * Written by Martin Husemann <martin (at) NetBSD.org>
      5  1.1    martin  * Public domain.
      6  1.1    martin  */
      7  1.1    martin 
      8  1.1    martin #include <strings.h>
      9  1.1    martin 
     10  1.1    martin /*
     11  1.2    martin  * Simple strcasecmp, try to avoid pulling in real locales
     12  1.1    martin  */
     13  1.1    martin int
     14  1.1    martin strcasecmp(const char *s1, const char *s2)
     15  1.1    martin {
     16  1.3  christos 	unsigned char c1, c2;
     17  1.2    martin 
     18  1.2    martin 	do {
     19  1.2    martin 		c1 = *s1++;
     20  1.2    martin 		c2 = *s2++;
     21  1.2    martin 		if (c1 >= 'A' && c1 <= 'Z')
     22  1.2    martin 			c1 += 'a' - 'A';
     23  1.2    martin 		if (c2 >= 'A' && c2 <= 'Z')
     24  1.2    martin 			c2 += 'a' - 'A';
     25  1.2    martin 	} while (c1 == c2 && c1 != 0 && c2 != 0);
     26  1.2    martin 
     27  1.2    martin 	return ((c1 == c2) ? 0 : ((c1 > c2) ? 1 : -1));
     28  1.1    martin }
     29