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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