diff options
author | Daniel Stenberg <daniel@haxx.se> | 2004-01-19 22:15:59 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2004-01-19 22:15:59 +0000 |
commit | 2431b2caffd7276d2a01f1958283f810a235310c (patch) | |
tree | f71954151ca3405b0bace269e208b682de8fa247 /src/main.c | |
parent | f44bc855450ca817de0d96a28b7972ff8a467529 (diff) | |
download | curl-2431b2caffd7276d2a01f1958283f810a235310c.tar.gz |
David Byron cleaned up how --trace with no option was treated, and also
arguments in a config file without a required parameter!
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/main.c b/src/main.c index 65d9b0acb..2c13c702f 100644 --- a/src/main.c +++ b/src/main.c @@ -2117,12 +2117,21 @@ static int parseconfig(const char *filename, line++; *line=0; /* zero terminate */ } + + if (param && !*param) { + /* do this so getparameter can check for required parameters. + Otherwise it always thinks there's a parameter. */ + if (alloced_param) + free(param); + param = NULL; + } + #ifdef DEBUG_CONFIG - fprintf(stderr, "PARAM: \"%s\"\n", param); + fprintf(stderr, "PARAM: \"%s\"\n",(param ? param : "(null)")); #endif res = getparameter(option, param, &usedarg, config); - if(*param && !usedarg) + if (param && *param && !usedarg) /* we passed in a parameter that wasn't used! */ res = PARAM_GOT_EXTRA_PARAMETER; @@ -2139,7 +2148,10 @@ static int parseconfig(const char *filename, } if(alloced_param) + { free(param); + param = NULL; + } free(aline); } @@ -3371,7 +3383,7 @@ operate(struct Configurable *config, int argc, char *argv[]) if(config->headerfile && !headerfilep && heads.stream) fclose(heads.stream); - if(config->trace_fopened) + if(config->trace_fopened && config->trace_stream) fclose(config->trace_stream); if(allocuseragent) |