aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2000-10-26 08:15:13 +0000
committerDaniel Stenberg <daniel@haxx.se>2000-10-26 08:15:13 +0000
commita5b01cf4e833089ea469e32ba30ad624de3aa279 (patch)
tree8ffeff0b42dc26f6c7bddd820910c67edfa491e2
parent68c231e1b0a7d73ec053688763ac5b82cc5049db (diff)
Kevin Roth's bugreport with config files containing '-v defaulturl' is now
fixed
-rw-r--r--src/main.c39
1 files changed, 20 insertions, 19 deletions
diff --git a/src/main.c b/src/main.c
index d9bbd7c73..584ee101c 100644
--- a/src/main.c
+++ b/src/main.c
@@ -980,38 +980,31 @@ static int parseconfig(char *filename,
else
file = stdin;
- if(file)
- {
+ if(file) {
char *line;
char *tok1;
char *tok2;
-
- while (NULL != (line = my_get_line(file)))
- {
+
+ while (NULL != (line = my_get_line(file))) {
/* lines with # in the fist column is a comment! */
- if ('#' == line[0])
- {
+ if ('#' == line[0]) {
free(line);
continue;
}
- if (NULL == (tok1 = my_get_token(line)))
- {
+ if (NULL == (tok1 = my_get_token(line))) {
free(line);
continue;
}
- if ('-' != tok1[0])
- {
+ if ('-' != tok1[0]) {
if (config->url)
free(config->url);
config->url = tok1;
}
- while ((NULL != tok1) && ('-' == tok1[0]))
- {
+ while ((NULL != tok1) && ('-' == tok1[0])) {
tok2 = my_get_token(NULL);
- while (NULL == tok2)
- {
+ while (NULL == tok2) {
free(line);
if (NULL == (line = my_get_line(file)))
break;
@@ -1022,10 +1015,18 @@ static int parseconfig(char *filename,
res = getparameter(tok1 + 1, tok2, &usedarg, config);
free(tok1);
- if (!usedarg)
- tok1 = tok2;
- else
- {
+ if (!usedarg) {
+ if ('-' != tok2[0]) {
+ /* this is not an option, this is a URL */
+ if (config->url)
+ free(config->url);
+ config->url = tok2;
+ break;
+ }
+ else
+ tok1 = tok2;
+ }
+ else {
free(tok2);
break;
}