37 lines · 756 B · C
RawDownload
/*  * This file is part of the UCB release of Plan 9. It is subject to the license * terms in the LICENSE file found in the top-level directory of this * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No * part of the UCB release of Plan 9, including this file, may be copied, * modified, propagated, or distributed except according to the terms contained * in the LICENSE file. */ #include <string.h> typedef unsigned char uchar;  intstrcasecmp(char *s1, char *s2){	int c1, c2; 	while(*s1){		c1 = *(uchar*)s1++;		c2 = *(uchar*)s2++; 		if(c1 == c2)			continue; 		if(c1 >= 'A' && c1 <= 'Z')			c1 -= 'A' - 'a'; 		if(c2 >= 'A' && c2 <= 'Z')			c2 -= 'A' - 'a'; 		if(c1 != c2)			return c1 - c2;	}	return -*s2;}