diff options
author | Gisle Vanem <gisle.vanem@gmail.com> | 2019-05-23 17:13:39 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-23 17:13:39 +0200 |
commit | 8144ba38c383718355d8af2ed8330414edcbbc83 (patch) | |
tree | 9d611dac83c46ec6cbc61f59541321f945f9c6e8 /src/tool_parsecfg.c | |
parent | 9ad313dcb89b540955500538d47ca49b55d60b3c (diff) | |
download | curl-8144ba38c383718355d8af2ed8330414edcbbc83.tar.gz |
tool_parse_cfg: Avoid 2 fopen() for WIN32
Using the memdebug.h mem-leak feature, I noticed 2 calls like:
FILE tool_parsecfg.c:70 fopen("c:\Users\Gisle\AppData\Roaming\_curlrc","rt")
FILE tool_parsecfg.c:114 fopen("c:\Users\Gisle\AppData\Roaming\_curlrc","rt")
No need for 'fopen(), 'fclose()' and a 'fopen()' yet again.
Diffstat (limited to 'src/tool_parsecfg.c')
-rw-r--r-- | src/tool_parsecfg.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/tool_parsecfg.c b/src/tool_parsecfg.c index e36b06c23..683e25ac1 100644 --- a/src/tool_parsecfg.c +++ b/src/tool_parsecfg.c @@ -46,7 +46,7 @@ static char *my_get_line(FILE *fp); /* return 0 on everything-is-fine, and non-zero otherwise */ int parseconfig(const char *filename, struct GlobalConfig *global) { - FILE *file; + FILE *file = NULL; char filebuffer[512]; bool usedarg = FALSE; int rc = 0; @@ -69,7 +69,6 @@ int parseconfig(const char *filename, struct GlobalConfig *global) */ file = fopen(filebuffer, FOPEN_READTEXT); if(file != NULL) { - fclose(file); filename = filebuffer; } else { @@ -110,7 +109,9 @@ int parseconfig(const char *filename, struct GlobalConfig *global) #endif } - if(strcmp(filename, "-")) + if(file != NULL) /* WIN32: no need to fopen() again */ + ; + else if(strcmp(filename, "-")) file = fopen(filename, FOPEN_READTEXT); else file = stdin; |