From f3739a73af02a0152e842f2451358aa7aa962c1e Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 24 Sep 2009 21:40:05 +0200 Subject: conf: splitted function config_param_free() --- src/conf.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/conf.c b/src/conf.c index 48c58b1ac..fe4b39fc3 100644 --- a/src/conf.c +++ b/src/conf.c @@ -142,10 +142,8 @@ config_new_param(const char *value, int line) } static void -config_param_free(gpointer data, G_GNUC_UNUSED gpointer user_data) +config_param_free(struct config_param *param) { - struct config_param *param = data; - g_free(param->value); for (unsigned i = 0; i < param->num_block_params; i++) { @@ -159,6 +157,14 @@ config_param_free(gpointer data, G_GNUC_UNUSED gpointer user_data) g_free(param); } +static void +config_param_free_callback(gpointer data, G_GNUC_UNUSED gpointer user_data) +{ + struct config_param *param = data; + + config_param_free(param); +} + static struct config_entry * config_entry_get(const char *name) { @@ -176,7 +182,8 @@ void config_global_finish(void) for (unsigned i = 0; i < G_N_ELEMENTS(config_entries); ++i) { struct config_entry *entry = &config_entries[i]; - g_slist_foreach(entry->params, config_param_free, NULL); + g_slist_foreach(entry->params, + config_param_free_callback, NULL); g_slist_free(entry->params); } } -- cgit v1.2.3