summaryrefslogtreecommitdiffstats
path: root/libc-top-half/musl/src/string/strcasecmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc-top-half/musl/src/string/strcasecmp.c')
-rw-r--r--libc-top-half/musl/src/string/strcasecmp.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/libc-top-half/musl/src/string/strcasecmp.c b/libc-top-half/musl/src/string/strcasecmp.c
new file mode 100644
index 0000000..002c6aa
--- /dev/null
+++ b/libc-top-half/musl/src/string/strcasecmp.c
@@ -0,0 +1,16 @@
+#include <strings.h>
+#include <ctype.h>
+
+int strcasecmp(const char *_l, const char *_r)
+{
+ const unsigned char *l=(void *)_l, *r=(void *)_r;
+ for (; *l && *r && (*l == *r || tolower(*l) == tolower(*r)); l++, r++);
+ return tolower(*l) - tolower(*r);
+}
+
+int __strcasecmp_l(const char *l, const char *r, locale_t loc)
+{
+ return strcasecmp(l, r);
+}
+
+weak_alias(__strcasecmp_l, strcasecmp_l);