diff options
author | Vladimir Azarov <avm@intermediate-node.net> | 2024-10-01 15:47:05 +0200 |
---|---|---|
committer | Vladimir Azarov <avm@intermediate-node.net> | 2024-10-01 15:47:05 +0200 |
commit | 4abab5ad6c8465a7528ccdd5f49367da05f78bbd (patch) | |
tree | ebf009bf1376a5a223a915bc27cbbd791a1316bc /src/string/strncasecmp.c |
Initial version
Diffstat (limited to 'src/string/strncasecmp.c')
-rw-r--r-- | src/string/strncasecmp.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/string/strncasecmp.c b/src/string/strncasecmp.c new file mode 100644 index 0000000..e0ef93c --- /dev/null +++ b/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); |