aboutsummaryrefslogtreecommitdiff
path: root/src/tool_cfgable.c
diff options
context:
space:
mode:
authorSteve Holme <steve_holme@hotmail.com>2014-02-07 21:14:43 +0000
committerSteve Holme <steve_holme@hotmail.com>2014-02-08 11:18:25 +0000
commit132f5edfbd0c5f843deda910974fc7c2d1e52440 (patch)
tree1bdcda88a4e390d247f1bf7aea3a952a0232107d /src/tool_cfgable.c
parent2d8623e85d9711caa5363de5f216993116577f8b (diff)
tool_getparam: Added support for parsing of specific URL options
Diffstat (limited to 'src/tool_cfgable.c')
-rw-r--r--src/tool_cfgable.c19
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);
}