[PATCH:xev] Use strncasecmp instead of a tolower loop & strncmp

Alan Coopersmith alan.coopersmith at oracle.com
Sat Jan 19 08:42:27 PST 2013


v2: Since strncasecmp is in Unix98, assume it is always available,
and drop fallback code for systems without it.

Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
---
 configure.ac |    1 +
 xev.c        |   15 ++++++---------
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/configure.ac b/configure.ac
index 0af7b2d..c65d82a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,6 +26,7 @@ AC_INIT([xev], [1.2.0],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xev])
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_HEADERS([config.h])
+AC_USE_SYSTEM_EXTENSIONS
 
 # Initialize Automake
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
diff --git a/xev.c b/xev.c
index 34a46aa..066da3a 100644
--- a/xev.c
+++ b/xev.c
@@ -32,6 +32,9 @@ from the X Consortium.
  * Author:  Jim Fulton, MIT X Consortium
  */
 
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
 #include <stdio.h>
 #include <stdlib.h>
 #include <ctype.h>
@@ -907,16 +910,10 @@ static int
 parse_backing_store (char *s)
 {
     size_t len = strlen (s);
-    char *cp;
-
-    for (cp = s; *cp; cp++) {
-	if (isascii (*cp) && isupper (*cp))
-	    *cp = tolower (*cp);
-    }
 
-    if (strncmp (s, "notuseful", len) == 0) return (NotUseful);
-    if (strncmp (s, "whenmapped", len) == 0) return (WhenMapped);
-    if (strncmp (s, "always", len) == 0) return (Always);
+    if (strncasecmp (s, "NotUseful", len) == 0) return (NotUseful);
+    if (strncasecmp (s, "WhenMapped", len) == 0) return (WhenMapped);
+    if (strncasecmp (s, "Always", len) == 0) return (Always);
 
     usage ();
 }
-- 
1.7.9.2



More information about the xorg-devel mailing list