tool_operate: Move the trace and error file closure to tool_cfgable
authorSteve Holme <steve_holme@hotmail.com>
Sun, 9 Feb 2014 17:16:15 +0000 (17:16 +0000)
committerSteve Holme <steve_holme@hotmail.com>
Sun, 9 Feb 2014 17:16:15 +0000 (17:16 +0000)
src/tool_cfgable.c
src/tool_operate.c

index aed96a4..3ea73da 100644 (file)
@@ -121,11 +121,15 @@ static void free_config_fields(struct Configurable *config)
 
   Curl_safefree(config->xoauth2_bearer);
 
-  config->trace_stream = NULL; /* closed elsewhere when appropriate */
+  if(config->trace_fopened && config->trace_stream)
+    fclose(config->trace_stream);
+  config->trace_stream = NULL;
 
   Curl_safefree(config->writeout);
 
-  config->errors = NULL; /* closed elsewhere when appropriate */
+  if(config->errors_fopened && config->errors)
+    fclose(config->errors);
+  config->errors = NULL;
 
   curl_slist_free_all(config->quote);
   curl_slist_free_all(config->postquote);
index b4034e8..559b24c 100644 (file)
@@ -1786,9 +1786,6 @@ static int operate_do(struct Configurable *config)
   if(heads.alloc_filename)
     Curl_safefree(heads.filename);
 
-  if(config->trace_fopened && config->trace_stream)
-    fclose(config->trace_stream);
-
 #ifndef CURL_DISABLE_LIBCURL_OPTION
   /* Dump the libcurl code if previously enabled.
      NOTE: that this function relies on config->errors amongst other things
@@ -1801,9 +1798,6 @@ static int operate_do(struct Configurable *config)
 
 static void operate_free(struct Configurable *config)
 {
-  if(config->errors_fopened && config->errors)
-    fclose(config->errors);
-
   /* Release metalink related resources here */
   clean_metalink(config);
 }