Use built-in istr[n]cmp() instead of strcase[n]cmp()
authorAdrian Perez de Castro <aperez@igalia.com>
Mon, 5 Aug 2019 12:59:20 +0000 (15:59 +0300)
committerRan Benita <ran@unusedvar.com>
Fri, 27 Dec 2019 10:36:39 +0000 (12:36 +0200)
This avoids the problem that MSVC does not provide strcasecmp() nor
strncasecmp(), and at the same time avoids potential problems due to
locale configuration by using istrcmp() and istrncmp() which are
already in the source tree and written to cover only ASCII.

src/keysym.c

index 7fc13b4..6c7975e 100644 (file)
@@ -203,7 +203,7 @@ xkb_keysym_from_name(const char *s, enum xkb_keysym_flags flags)
      * no separating underscore, while some XF86* syms in the latter did.
      * As a last ditch effort, try without. */
     if (strncmp(s, "XF86_", 5) == 0 ||
-        (icase && strncasecmp(s, "XF86_", 5) == 0)) {
+        (icase && istrncmp(s, "XF86_", 5) == 0)) {
         xkb_keysym_t ret;
         tmp = strdup(s);
         if (!tmp)