about summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2006-09-09 15:45:24 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2006-09-09 15:45:24 +0000
commit6c4a391425e6cb5c833fbab4ebee515ac08375db (patch)
tree207bee81be20455a262dd35a7786e621becf9fe1 /lib
parent2dbf45166703d8b899e9786e440c5432832caaf4 (diff)
downloadnetpbm-mirror-6c4a391425e6cb5c833fbab4ebee515ac08375db.tar.gz
netpbm-mirror-6c4a391425e6cb5c833fbab4ebee515ac08375db.tar.xz
netpbm-mirror-6c4a391425e6cb5c833fbab4ebee515ac08375db.zip
Make strishex() library function
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@38 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'lib')
-rw-r--r--lib/libppmcolor.c18
-rw-r--r--lib/util/nstring.c17
-rw-r--r--lib/util/nstring.h4
3 files changed, 22 insertions, 17 deletions
diff --git a/lib/libppmcolor.c b/lib/libppmcolor.c
index d5323be3..a200ab2b 100644
--- a/lib/libppmcolor.c
+++ b/lib/libppmcolor.c
@@ -248,22 +248,6 @@ parseNewDecX11(char       const colorname[],
 
 
 
-static bool
-isHexString(char const string[],
-            int  const hexit[]) {
-
-    bool retval;
-    const char * p;
-
-    for (p = &string[0], retval = true; *p && retval == true; ++p) {
-        if (hexit[(unsigned int)*p] == -1)
-            retval = false;
-    }
-    return retval;
-}
-
-
-
 static void
 parseOldX11(char       const colorname[], 
             pixval     const maxval,
@@ -279,7 +263,7 @@ parseOldX11(char       const colorname[],
     
     computeHexTable(hexit);
 
-    if (!isHexString(&colorname[1], hexit))
+    if (!strishex(&colorname[1]))
         pm_error("Non-hexadecimal characters in #-type color specification");
 
     switch (strlen(colorname) - 1 /* (Number of hex digits) */) {
diff --git a/lib/util/nstring.c b/lib/util/nstring.c
index 749e9060..58500547 100644
--- a/lib/util/nstring.c
+++ b/lib/util/nstring.c
@@ -895,3 +895,20 @@ memmemN(const char * const haystack,
 
     return NULL;
 }
+
+
+
+bool
+strishex(const char * const subject) {
+
+    bool retval;
+    unsigned int i;
+
+    retval = TRUE;  /* initial assumption */
+
+    for (i = 0; i < strlen(subject); ++i)
+        if (!ISXDIGIT(subject[i]))
+            retval = FALSE;
+
+    return retval;
+}
diff --git a/lib/util/nstring.h b/lib/util/nstring.h
index d976e859..70a53f45 100644
--- a/lib/util/nstring.h
+++ b/lib/util/nstring.h
@@ -5,6 +5,7 @@
 #include <string.h>
 #include <ctype.h>
 
+#include "pm_c_util.h"
 #include "pm.h"  /* For PM_GNU_PRINTF_ATTR, __inline__ */
 
 #ifdef __cplusplus
@@ -155,6 +156,9 @@ memmemN(const char * const haystack,
         const char * const needle,
         size_t       const needlelen);
 
+bool
+strishex(const char * const subject);
+
 #ifdef __cplusplus
 }
 #endif