diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/tool_cfgable.h | 9 | ||||
-rw-r--r-- | src/tool_main.c | 5 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/tool_cfgable.h b/src/tool_cfgable.h index 511227cb6..69c2c2ee9 100644 --- a/src/tool_cfgable.h +++ b/src/tool_cfgable.h @@ -28,7 +28,7 @@ #include "tool_metalink.h" struct OperationConfig { - CURL *easy; /* once we have one, we keep it here */ + CURL *easy; /* A copy of the handle from GlobalConfig */ bool remote_time; char *random_file; char *egd_file; @@ -220,6 +220,13 @@ struct OperationConfig { struct OperationConfig* next; /* Always last in the struct */ }; +struct GlobalConfig { + CURL *easy; /* Once we have one, we keep it here */ + + struct OperationConfig *first; + struct OperationConfig *last; /* Always last in the struct */ +}; + void config_init(struct OperationConfig* config); void config_free(struct OperationConfig* config); diff --git a/src/tool_main.c b/src/tool_main.c index 9542b059a..0cc767b1f 100644 --- a/src/tool_main.c +++ b/src/tool_main.c @@ -162,8 +162,11 @@ static void main_free(void) int main(int argc, char *argv[]) { CURLcode result = CURLE_OK; + struct GlobalConfig global; struct OperationConfig *config; + memset(&global, 0, sizeof(global)); + main_checkfds(); #if defined(HAVE_SIGNAL) && defined(SIGPIPE) @@ -173,7 +176,7 @@ int main(int argc, char *argv[]) /* Initialize memory tracking */ memory_tracking_init(); - /* Allocate the initial config */ + /* Allocate the initial operate config */ config = malloc(sizeof(struct OperationConfig)); if(config) { |