blob: dc85728e6ca0c828e2e41ed32f8b24bd7553848a [file] [log] [blame]
Viet-Trung Luu96b05c12016-01-11 11:26:36 -08001#include <strings.h>
2#include <ctype.h>
3#include "libc.h"
4
George Kulakowski17e3b042016-02-18 15:59:50 -08005int strcasecmp(const char* _l, const char* _r) {
6 const unsigned char *l = (void *)_l, *r = (void *)_r;
7 for (; *l && *r && (*l == *r || tolower(*l) == tolower(*r)); l++, r++)
8 ;
9 return tolower(*l) - tolower(*r);
Viet-Trung Luu96b05c12016-01-11 11:26:36 -080010}
11
George Kulakowski17e3b042016-02-18 15:59:50 -080012int __strcasecmp_l(const char* l, const char* r, locale_t loc) {
13 return strcasecmp(l, r);
Viet-Trung Luu96b05c12016-01-11 11:26:36 -080014}
15
16weak_alias(__strcasecmp_l, strcasecmp_l);