1
0
mirror of https://github.com/moparisthebest/curl synced 2024-08-13 17:03:50 -04:00

tool_main: Moved initial OperateConfig creation into main_init()

This commit is contained in:
Steve Holme 2014-02-23 13:34:29 +00:00
parent 2249f7fe70
commit d6b9f054e9

View File

@ -121,7 +121,7 @@ static void memory_tracking_init(void)
* _any_ libcurl usage. If this fails, *NO* libcurl functions may be * _any_ libcurl usage. If this fails, *NO* libcurl functions may be
* used, or havoc may be the result. * used, or havoc may be the result.
*/ */
static CURLcode main_init(struct OperationConfig *config) static CURLcode main_init(struct GlobalConfig *config)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
@ -130,17 +130,29 @@ static CURLcode main_init(struct OperationConfig *config)
_djstat_flags |= _STAT_INODE | _STAT_EXEC_MAGIC | _STAT_DIRSIZE; _djstat_flags |= _STAT_INODE | _STAT_EXEC_MAGIC | _STAT_DIRSIZE;
#endif #endif
/* Perform the libcurl initialization */ /* Allocate the initial operate config */
result = curl_global_init(CURL_GLOBAL_DEFAULT); config->first = malloc(sizeof(struct OperationConfig));
if(!result) { if(config->first) {
/* Get information about libcurl */ /* Perform the libcurl initialization */
result = get_libcurl_info(); result = curl_global_init(CURL_GLOBAL_DEFAULT);
if(!result) {
/* Get information about libcurl */
result = get_libcurl_info();
if(result) if(!result) {
helpf(config->errors, "error retrieving curl library information\n"); /* Initialise the config */
config_init(config->first);
}
else
helpf(stderr, "error retrieving curl library information\n");
}
else
helpf(stderr, "error initializing curl library\n");
}
else {
helpf(stderr, "error initializing curl\n");
result = CURLE_FAILED_INIT;
} }
else
helpf(config->errors, "error initializing curl library\n");
return result; return result;
} }
@ -163,8 +175,6 @@ int main(int argc, char *argv[])
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct GlobalConfig global; struct GlobalConfig global;
struct OperationConfig *config;
memset(&global, 0, sizeof(global)); memset(&global, 0, sizeof(global));
main_checkfds(); main_checkfds();
@ -176,36 +186,26 @@ int main(int argc, char *argv[])
/* Initialize memory tracking */ /* Initialize memory tracking */
memory_tracking_init(); memory_tracking_init();
/* Allocate the initial operate config */ /* Initialize the curl library - do not call any libcurl functions before
config = malloc(sizeof(struct OperationConfig)); this point */
result = main_init(&global);
if(!result) {
/* Start our curl operation */
result = operate(global.first, argc, argv);
if(config) { /* Perform the main cleanup */
/* Initialise the config */ main_free();
config_init(config); }
/* Initialize the curl library - do not call any libcurl functions before
this point */
result = main_init(config);
if(!result) {
/* Start our curl operation */
result = operate(config, argc, argv);
/* Perform the main cleanup */
main_free();
}
if(global.first) {
#ifdef __SYMBIAN32__ #ifdef __SYMBIAN32__
if(config->showerror) if(global->first->showerror)
tool_pressanykey(); tool_pressanykey();
#endif #endif
/* Free the config structures */ /* Free the config structures */
config_free(config); config_free(global.first);
config = NULL; global.first = NULL;
}
else {
helpf(stderr, "error initializing curl\n");
result = CURLE_FAILED_INIT;
} }
#ifdef __NOVELL_LIBC__ #ifdef __NOVELL_LIBC__