From 1fc1ef4d35c724b48428d9338b392a07d8150d58 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Tue, 13 Nov 2018 23:15:20 +0100 Subject: Add fz_strncasecmp. --- include/mupdf/fitz/string-util.h | 1 + source/fitz/string.c | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/include/mupdf/fitz/string-util.h b/include/mupdf/fitz/string-util.h index 235bb060..ffd7cb1d 100644 --- a/include/mupdf/fitz/string-util.h +++ b/include/mupdf/fitz/string-util.h @@ -97,6 +97,7 @@ char *fz_cleanname(char *name); Case insensitive (ASCII only) string comparison. */ int fz_strcasecmp(const char *a, const char *b); +int fz_strncasecmp(const char *a, const char *b, int n); /* FZ_UTFMAX: Maximum number of bytes in a decoded rune (maximum length returned by fz_chartorune). diff --git a/source/fitz/string.c b/source/fitz/string.c index e70ae6e6..4bb3dc9d 100644 --- a/source/fitz/string.c +++ b/source/fitz/string.c @@ -21,6 +21,16 @@ fz_strnlen(const char *s, size_t n) return p ? p - s : n; } +int +fz_strncasecmp(const char *a, const char *b, int n) +{ + if (!n--) + return 0; + for (; *a && *b && n && (*a == *b || fz_tolower(*a) == fz_tolower(*b)); a++, b++, n--) + ; + return fz_tolower(*a) - fz_tolower(*b); +} + int fz_strcasecmp(const char *a, const char *b) { -- cgit v1.2.3