The redirected error stream was closed before curl_easy_cleanup() was made,

and when VERBOSE was enabled, that used the stream. Also, the stream was
closed even if we looped to get more files.
Corrects Dustin Boswell's bug report #441610
This commit is contained in:
Daniel Stenberg 2001-08-09 09:47:53 +00:00
parent 5de39884c3
commit f112cc14b9

View File

@ -1963,11 +1963,6 @@ operate(struct Configurable *config, int argc, char *argv[])
fprintf(config->errors, "curl: (%d) %s\n", res, errorbuffer); fprintf(config->errors, "curl: (%d) %s\n", res, errorbuffer);
#endif #endif
if((config->errors != stderr) &&
(config->errors != stdout))
/* it wasn't directed to stdout or stderr so close the file! */
fclose(config->errors);
if(config->headerfile && !headerfilep && heads.stream) if(config->headerfile && !headerfilep && heads.stream)
fclose(heads.stream); fclose(heads.stream);
@ -2012,6 +2007,11 @@ operate(struct Configurable *config, int argc, char *argv[])
/* cleanup the curl handle! */ /* cleanup the curl handle! */
curl_easy_cleanup(curl); curl_easy_cleanup(curl);
if((config->errors != stderr) &&
(config->errors != stdout))
/* it wasn't directed to stdout or stderr so close the file! */
fclose(config->errors);
main_free(); /* cleanup */ main_free(); /* cleanup */
return res; return res;