diff options
Diffstat (limited to 'libc-top-half/musl/src/string/strncasecmp.c')
-rw-r--r-- | libc-top-half/musl/src/string/strncasecmp.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libc-top-half/musl/src/string/strncasecmp.c b/libc-top-half/musl/src/string/strncasecmp.c new file mode 100644 index 0000000..e0ef93c --- /dev/null +++ b/libc-top-half/musl/src/string/strncasecmp.c @@ -0,0 +1,17 @@ +#include <strings.h> +#include <ctype.h> + +int strncasecmp(const char *_l, const char *_r, size_t n) +{ + const unsigned char *l=(void *)_l, *r=(void *)_r; + if (!n--) return 0; + for (; *l && *r && n && (*l == *r || tolower(*l) == tolower(*r)); l++, r++, n--); + return tolower(*l) - tolower(*r); +} + +int __strncasecmp_l(const char *l, const char *r, size_t n, locale_t loc) +{ + return strncasecmp(l, r, n); +} + +weak_alias(__strncasecmp_l, strncasecmp_l); |