summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tool_main.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/tool_main.c b/src/tool_main.c
index 093969fc1..75fe628e4 100644
--- a/src/tool_main.c
+++ b/src/tool_main.c
@@ -161,11 +161,17 @@ static CURLcode main_init(struct GlobalConfig *config)
* This is the main global destructor for the app. Call this after
* _all_ libcurl usage is done.
*/
-static void main_free(void)
+static void main_free(struct GlobalConfig *config)
{
+ /* Main cleanup */
curl_global_cleanup();
convert_cleanup();
metalink_cleanup();
+
+ /* Free the config structures */
+ config_free(config->first);
+ config->first = NULL;
+ config->last = NULL;
}
/*
@@ -193,19 +199,13 @@ int main(int argc, char *argv[])
/* Start our curl operation */
result = operate(global.first, argc, argv);
- /* Perform the main cleanup */
- main_free();
- }
-
- if(global.first) {
#ifdef __SYMBIAN32__
if(global->first->showerror)
tool_pressanykey();
#endif
- /* Free the config structures */
- config_free(global.first);
- global.first = NULL;
+ /* Perform the main cleanup */
+ main_free(&global);
}
#ifdef __NOVELL_LIBC__