diff options
author | Steve Holme <steve_holme@hotmail.com> | 2014-02-07 21:14:43 +0000 |
---|---|---|
committer | Steve Holme <steve_holme@hotmail.com> | 2014-02-08 11:18:25 +0000 |
commit | 132f5edfbd0c5f843deda910974fc7c2d1e52440 (patch) | |
tree | 1bdcda88a4e390d247f1bf7aea3a952a0232107d /src/tool_cfgable.c | |
parent | 2d8623e85d9711caa5363de5f216993116577f8b (diff) | |
download | curl-132f5edfbd0c5f843deda910974fc7c2d1e52440.tar.gz |
tool_getparam: Added support for parsing of specific URL options
Diffstat (limited to 'src/tool_cfgable.c')
-rw-r--r-- | src/tool_cfgable.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/tool_cfgable.c b/src/tool_cfgable.c index 6bcf421b3..aed96a48b 100644 --- a/src/tool_cfgable.c +++ b/src/tool_cfgable.c @@ -153,6 +153,21 @@ static void free_config_fields(struct Configurable *config) void config_free(struct Configurable *config) { - free_config_fields(config); - free(config); + struct Configurable *last = config; + + /* Find the last config structure */ + while(last->next) + last = last->next; + + /* Free each of the structures in reverse order */ + do { + struct Configurable *prev = last->prev; + if(prev) + last->easy = NULL; + + free_config_fields(last); + free(last); + + last = prev; + } while(last); } |