Replaces goto:'s in config parser with a simple do-while loop.
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [EMAIL PROTECTED]
# target_branch: file:///src/squid/bzr/trunk/
# testament_sha1: 8556f2a780e98506919a0006adcf2d10877790e8
# timestamp: 2008-04-11 16:55:01 +1200
# message: Cleanups
# base_revision_id: [EMAIL PROTECTED]
#   kbp8dbq60zrxnwdy
# 
# Begin patch
=== modified file 'src/ConfigParser.cc'
--- src/ConfigParser.cc	2007-04-29 04:26:37 +0000
+++ src/ConfigParser.cc	2008-04-11 04:49:34 +0000
@@ -53,69 +53,64 @@
     char *t, *fn;
     LOCAL_ARRAY(char, buf, 256);
 
-strtok_again:
-
-    if (!fromFile) {
-        t = (strtok(NULL, w_space));
-
-        if (!t || *t == '#') {
-            return NULL;
-        } else if (*t == '\"' || *t == '\'') {
-            /* quote found, start reading from file */
-            fn = ++t;
-
-            while (*t && *t != '\"' && *t != '\'')
-                t++;
-
-            *t = '\0';
-
-            if ((wordFile = fopen(fn, "r")) == NULL) {
-                debugs(28, 0, "strtokFile: " << fn << " not found");
-                return (NULL);
-            }
+    do {
+
+        if (!fromFile) {
+            t = (strtok(NULL, w_space));
+
+            if (!t || *t == '#') {
+               return NULL;
+             } else if (*t == '\"' || *t == '\'') {
+                /* quote found, start reading from file */
+                fn = ++t;
+
+                while (*t && *t != '\"' && *t != '\'')
+                    t++;
+
+                *t = '\0';
+
+                if ((wordFile = fopen(fn, "r")) == NULL) {
+                    debugs(28, 0, "strtokFile: " << fn << " not found");
+                    return (NULL);
+                }
 
 #ifdef _SQUID_WIN32_
-            setmode(fileno(wordFile), O_TEXT);
+                setmode(fileno(wordFile), O_TEXT);
 
 #endif
 
-            fromFile = 1;
+                fromFile = 1;
+            } else {
+                return t;
+            }
+        }
+
+        /* fromFile */
+        if (fgets(buf, 256, wordFile) == NULL) {
+            /* stop reading from file */
+            fclose(wordFile);
+            wordFile = NULL;
+            fromFile = 0;
+            return NULL;
         } else {
-            return t;
-        }
-    }
-
-    /* fromFile */
-    if (fgets(buf, 256, wordFile) == NULL) {
-        /* stop reading from file */
-        fclose(wordFile);
-        wordFile = NULL;
-        fromFile = 0;
-        goto strtok_again;
-    } else {
-        char *t2, *t3;
-        t = buf;
-        /* skip leading and trailing white space */
-        t += strspn(buf, w_space);
-        t2 = t + strcspn(t, w_space);
-        t3 = t2 + strspn(t2, w_space);
-
-        while (*t3 && *t3 != '#') {
-            t2 = t3 + strcspn(t3, w_space);
+            char *t2, *t3;
+            t = buf;
+            /* skip leading and trailing white space */
+            t += strspn(buf, w_space);
+            t2 = t + strcspn(t, w_space);
             t3 = t2 + strspn(t2, w_space);
+
+            while (*t3 && *t3 != '#') {
+                t2 = t3 + strcspn(t3, w_space);
+                t3 = t2 + strspn(t2, w_space);
+            }
+
+            *t2 = '\0';
         }
 
-        *t2 = '\0';
         /* skip comments */
-
-        if (*t == '#')
-            goto strtok_again;
-
         /* skip blank lines */
-        if (!*t)
-            goto strtok_again;
+    } while( *t != '#' && !*t );
 
-        return t;
-    }
+    return t;
 }
-

# Begin bundle
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

Reply via email to