]> granicus.if.org Git - graphviz/commitdiff
lefty SFstrncmp: replace with strncasecmp
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 18 Sep 2021 22:28:04 +0000 (15:28 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 19 Sep 2021 15:57:18 +0000 (08:57 -0700)
This functionality is built in to libc these days.

cmd/lefty/ws/x11/libfilereq/Path.c

index cbbb69436acd0d6fab810df129503b63bd19432a..badee85f8e24402dc2b3ea8fddc533fecedefea3 100644 (file)
 #include "config.h"
 #include <stdio.h>
 
-#ifdef SEL_FILE_IGNORE_CASE
-#include <ctype.h>
-#endif /* def SEL_FILE_IGNORE_CASE */
-
 #include <X11/Xos.h>
 #include <pwd.h>
 #include "SFinternal.h"
@@ -55,6 +51,10 @@ extern uid_t getuid ();
 #endif /* defined (SVR4) || defined (SYSV) || defined (USG) */
 
 #include <stdlib.h>
+#include <string.h>
+#ifndef _MSC_VER
+#include <strings.h>
+#endif
 
 #include "SFDecls.h"
 
@@ -136,43 +136,6 @@ static void SFunreadableDir (SFDir *dir) {
     dir->nChars = strlen (cannotOpen);
 }
 
-#ifdef SEL_FILE_IGNORE_CASE
-static int SFstrncmp (char *p, char *q, int n) {
-    char c1, c2;
-    char *psave, *qsave;
-    int  nsave;
-
-    psave = p;
-    qsave = q;
-    nsave = n;
-    c1 = *p++;
-    if (islower (c1)) {
-        c1 = toupper (c1);
-    }
-    c2 = *q++;
-    if (islower (c2)) {
-        c2 = toupper (c2);
-    }
-    while ((--n >= 0) && (c1 == c2)) {
-        if (!c1) {
-            return strncmp (psave, qsave, nsave);
-        }
-        c1 = *p++;
-        if (islower (c1)) {
-            c1 = toupper (c1);
-        }
-        c2 = *q++;
-        if (islower (c2)) {
-            c2 = toupper (c2);
-        }
-    }
-    if (n < 0) {
-        return strncmp (psave, qsave, nsave);
-    }
-    return c1 - c2;
-}
-#endif /* def SEL_FILE_IGNORE_CASE */
-
 static void SFreplaceText (SFDir *dir, char *str) {
     int len;
 
@@ -256,7 +219,11 @@ static int SFfindFile (SFDir *dir, char *str) {
         name[last] = 0;
 
 #ifdef SEL_FILE_IGNORE_CASE
-        result = SFstrncmp (str, name, len);
+#ifdef _MSC_VER
+        result = _strnicmp(str, name, len);
+#else
+        result = strncasecmp(str, name, len);
+#endif
 #else /* def SEL_FILE_IGNORE_CASE */
         result = strncmp (str, name, len);
 #endif /* def SEL_FILE_IGNORE_CASE */
@@ -275,7 +242,11 @@ static int SFfindFile (SFDir *dir, char *str) {
         name[last] = 0;
 
 #ifdef SEL_FILE_IGNORE_CASE
-        result = SFstrncmp (str, name, len);
+#ifdef _MSC_VER
+        result = _strnicmp(str, name, len);
+#else
+        result = strncasecmp(str, name, len);
+#endif
 #else /* def SEL_FILE_IGNORE_CASE */
         result = strncmp (str, name, len);
 #endif /* def SEL_FILE_IGNORE_CASE */