Split off Curl_isxdigit function
authorDan Fandrich <dan@coneharvesters.com>
Tue, 7 Oct 2008 23:20:06 +0000 (23:20 +0000)
committerDan Fandrich <dan@coneharvesters.com>
Tue, 7 Oct 2008 23:20:06 +0000 (23:20 +0000)
lib/http_chunks.c

index 0d72793..e088748 100644 (file)
 
  */
 
+/* Check for an ASCII hex digit.
+ We avoid the use of isxdigit to accommodate non-ASCII hosts. */
+static bool Curl_isxdigit(char digit)
+{
+  return (digit >= 0x30 && digit <= 0x39)    /* 0-9 */
+      || (digit >= 0x41 && digit <= 0x46)    /* A-F */
+      || (digit >= 0x61 && digit <= 0x66);   /* a-f */
+}
 
 void Curl_httpchunk_init(struct connectdata *conn)
 {
@@ -127,11 +135,7 @@ CHUNKcode Curl_httpchunk_read(struct connectdata *conn,
   while(length) {
     switch(ch->state) {
     case CHUNK_HEX:
-      /* Check for an ASCII hex digit.
-         We avoid the use of isxdigit to accommodate non-ASCII hosts. */
-      if((*datap >= 0x30 && *datap <= 0x39)    /* 0-9 */
-         || (*datap >= 0x41 && *datap <= 0x46)    /* A-F */
-         || (*datap >= 0x61 && *datap <= 0x66)) { /* a-f */
+      if(Curl_isxdigit(*datap)) {
         if(ch->hexindex < MAXNUM_SIZE) {
           ch->hexbuffer[ch->hexindex] = *datap;
           datap++;