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