mirror of
https://github.com/moparisthebest/curl
synced 2025-01-09 04:58:00 -05:00
tool_operate: Moved main initialisation and cleanup code into tool_main
This commit is contained in:
parent
c1daf6c0cd
commit
b811200f64
@ -115,6 +115,32 @@ static void memory_tracking_init(void)
|
|||||||
# define memory_tracking_init() Curl_nop_stmt
|
# define memory_tracking_init() Curl_nop_stmt
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is the main global constructor for the app. Call this before
|
||||||
|
* _any_ libcurl usage. If this fails, *NO* libcurl functions may be
|
||||||
|
* used, or havoc may be the result.
|
||||||
|
*/
|
||||||
|
static CURLcode main_init(void)
|
||||||
|
{
|
||||||
|
#if defined(__DJGPP__) || defined(__GO32__)
|
||||||
|
/* stop stat() wasting time */
|
||||||
|
_djstat_flags |= _STAT_INODE | _STAT_EXEC_MAGIC | _STAT_DIRSIZE;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return curl_global_init(CURL_GLOBAL_DEFAULT);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is the main global destructor for the app. Call this after
|
||||||
|
* _all_ libcurl usage is done.
|
||||||
|
*/
|
||||||
|
static void main_free(void)
|
||||||
|
{
|
||||||
|
curl_global_cleanup();
|
||||||
|
convert_cleanup();
|
||||||
|
metalink_cleanup();
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** curl tool main function.
|
** curl tool main function.
|
||||||
*/
|
*/
|
||||||
@ -139,9 +165,20 @@ int main(int argc, char *argv[])
|
|||||||
/* Initialise the config */
|
/* Initialise the config */
|
||||||
init_config(config);
|
init_config(config);
|
||||||
|
|
||||||
|
/* Initialize the curl library - do not call any libcurl functions before
|
||||||
|
this point */
|
||||||
|
if(!main_init()) {
|
||||||
/* Start our curl operation */
|
/* Start our curl operation */
|
||||||
res = operate(config, argc, argv);
|
res = operate(config, argc, argv);
|
||||||
|
|
||||||
|
/* Perform the main cleanup */
|
||||||
|
main_free();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
helpf(config->errors, "error initializing curl library\n");
|
||||||
|
res = CURLE_FAILED_INIT;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __SYMBIAN32__
|
#ifdef __SYMBIAN32__
|
||||||
if(config->showerror)
|
if(config->showerror)
|
||||||
tool_pressanykey();
|
tool_pressanykey();
|
||||||
|
@ -214,19 +214,9 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
|
|||||||
heads.stream = stdout;
|
heads.stream = stdout;
|
||||||
heads.config = config;
|
heads.config = config;
|
||||||
|
|
||||||
/*
|
|
||||||
** Initialize curl library - do not call any libcurl functions before
|
|
||||||
** this point.
|
|
||||||
*/
|
|
||||||
if(main_init() != CURLE_OK) {
|
|
||||||
helpf(config->errors, "error initializing curl library\n");
|
|
||||||
return CURLE_FAILED_INIT;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Get libcurl info right away */
|
/* Get libcurl info right away */
|
||||||
if(get_libcurl_info() != CURLE_OK) {
|
if(get_libcurl_info() != CURLE_OK) {
|
||||||
helpf(config->errors, "error retrieving curl library information\n");
|
helpf(config->errors, "error retrieving curl library information\n");
|
||||||
main_free();
|
|
||||||
return CURLE_FAILED_INIT;
|
return CURLE_FAILED_INIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -234,7 +224,6 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
|
|||||||
curl = curl_easy_init();
|
curl = curl_easy_init();
|
||||||
if(!curl) {
|
if(!curl) {
|
||||||
helpf(config->errors, "error initializing curl easy handle\n");
|
helpf(config->errors, "error initializing curl easy handle\n");
|
||||||
main_free();
|
|
||||||
return CURLE_FAILED_INIT;
|
return CURLE_FAILED_INIT;
|
||||||
}
|
}
|
||||||
config->easy = curl;
|
config->easy = curl;
|
||||||
@ -1892,7 +1881,5 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
|
|||||||
/* Release metalink related resources here */
|
/* Release metalink related resources here */
|
||||||
clean_metalink(config);
|
clean_metalink(config);
|
||||||
|
|
||||||
main_free(); /* cleanup */
|
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
@ -193,29 +193,3 @@ CURLcode get_url_file_name(char **filename, const char *url)
|
|||||||
return CURLE_OK;
|
return CURLE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* This is the main global constructor for the app. Call this before
|
|
||||||
* _any_ libcurl usage. If this fails, *NO* libcurl functions may be
|
|
||||||
* used, or havoc may be the result.
|
|
||||||
*/
|
|
||||||
CURLcode main_init(void)
|
|
||||||
{
|
|
||||||
#if defined(__DJGPP__) || defined(__GO32__)
|
|
||||||
/* stop stat() wasting time */
|
|
||||||
_djstat_flags |= _STAT_INODE | _STAT_EXEC_MAGIC | _STAT_DIRSIZE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return curl_global_init(CURL_GLOBAL_DEFAULT);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This is the main global destructor for the app. Call this after
|
|
||||||
* _all_ libcurl usage is done.
|
|
||||||
*/
|
|
||||||
void main_free(void)
|
|
||||||
{
|
|
||||||
curl_global_cleanup();
|
|
||||||
convert_cleanup();
|
|
||||||
metalink_cleanup();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -37,9 +37,5 @@ char *add_file_name_to_url(CURL *curl, char *url, const char *filename);
|
|||||||
|
|
||||||
CURLcode get_url_file_name(char **filename, const char *url);
|
CURLcode get_url_file_name(char **filename, const char *url);
|
||||||
|
|
||||||
CURLcode main_init(void);
|
|
||||||
|
|
||||||
void main_free(void);
|
|
||||||
|
|
||||||
#endif /* HEADER_CURL_TOOL_OPERHLP_H */
|
#endif /* HEADER_CURL_TOOL_OPERHLP_H */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user