aboutsummaryrefslogtreecommitdiffstats
path: root/epan/stats_tree.c
diff options
context:
space:
mode:
authorDario Lombardo <lomato@gmail.com>2017-02-05 23:00:51 +0100
committerDario Lombardo <lomato@gmail.com>2017-02-07 15:28:15 +0000
commitc31b8da7214496d1469abe9b7eee8a6834df1ddf (patch)
tree23e396f4110ab301ccc187491967efbdcd55f443 /epan/stats_tree.c
parenta2ce68451ebbe8ad67e5bf07ec98de95120c1b8c (diff)
stats_tree: add cleanup function.
Change-Id: Iefd264bdd79af172c245c3a30119999cca9d56c0 Reviewed-on: https://code.wireshark.org/review/19976 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Dario Lombardo <lomato@gmail.com>
Diffstat (limited to 'epan/stats_tree.c')
-rw-r--r--epan/stats_tree.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/epan/stats_tree.c b/epan/stats_tree.c
index bec10b785b..1343b639c3 100644
--- a/epan/stats_tree.c
+++ b/epan/stats_tree.c
@@ -245,6 +245,16 @@ stats_tree_reinit(void *p)
}
}
+void
+stats_tree_cfg_free(gpointer p)
+{
+ stats_tree_cfg* cfg = (stats_tree_cfg*)p;
+ g_free(cfg->tapname);
+ g_free(cfg->abbr);
+ g_free(cfg->name);
+ g_free(cfg);
+}
+
/* register a new stats_tree */
extern void
stats_tree_register_with_group(const char *tapname, const char *abbr, const char *name,
@@ -269,7 +279,7 @@ stats_tree_register_with_group(const char *tapname, const char *abbr, const char
cfg->flags = flags&~ST_FLG_MASK;
cfg->st_flags = flags&ST_FLG_MASK;
- if (!registry) registry = g_hash_table_new(g_str_hash,g_str_equal);
+ if (!registry) registry = g_hash_table_new_full(g_str_hash,g_str_equal,NULL,stats_tree_cfg_free);
g_hash_table_insert(registry,cfg->abbr,cfg);
}
@@ -1321,6 +1331,11 @@ WS_DLL_PUBLIC void stats_tree_format_node_as_str(const stat_node *node,
}
}
+void stats_tree_cleanup(void)
+{
+ g_hash_table_destroy(registry);
+}
+
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*