xref: /aosp_15_r20/external/musl/src/string/strcasecmp.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker #include <strings.h>
2*c9945492SAndroid Build Coastguard Worker #include <ctype.h>
3*c9945492SAndroid Build Coastguard Worker 
strcasecmp(const char * _l,const char * _r)4*c9945492SAndroid Build Coastguard Worker int strcasecmp(const char *_l, const char *_r)
5*c9945492SAndroid Build Coastguard Worker {
6*c9945492SAndroid Build Coastguard Worker 	const unsigned char *l=(void *)_l, *r=(void *)_r;
7*c9945492SAndroid Build Coastguard Worker 	for (; *l && *r && (*l == *r || tolower(*l) == tolower(*r)); l++, r++);
8*c9945492SAndroid Build Coastguard Worker 	return tolower(*l) - tolower(*r);
9*c9945492SAndroid Build Coastguard Worker }
10*c9945492SAndroid Build Coastguard Worker 
__strcasecmp_l(const char * l,const char * r,locale_t loc)11*c9945492SAndroid Build Coastguard Worker int __strcasecmp_l(const char *l, const char *r, locale_t loc)
12*c9945492SAndroid Build Coastguard Worker {
13*c9945492SAndroid Build Coastguard Worker 	return strcasecmp(l, r);
14*c9945492SAndroid Build Coastguard Worker }
15*c9945492SAndroid Build Coastguard Worker 
16*c9945492SAndroid Build Coastguard Worker weak_alias(__strcasecmp_l, strcasecmp_l);
17