From 7cee06131e6f1c632e93fd7237eb8434101e7f36 Mon Sep 17 00:00:00 2001 From: Danila Fedorin Date: Sat, 17 Feb 2018 19:56:18 -0800 Subject: [PATCH] Free table entries when the table is released. --- src/table.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/table.c b/src/table.c index c7d21d7..c70d2f9 100644 --- a/src/table.c +++ b/src/table.c @@ -33,7 +33,13 @@ libab_function* libab_table_search_function(libab_table* table, const char* stri libab_result libab_table_put(libab_table* table, const char* string, libab_table_entry* entry) { return libab_convert_ds_result(ht_put(&table->table, string, entry)); } +int _table_foreach_entry_free(void* data, va_list args) { + libab_table_entry_free(data); + free(data); + return 0; +} void libab_table_free(libab_table* table) { + ht_foreach(&table->table, NULL, compare_always, _table_foreach_entry_free); ht_free(&table->table); } void libab_table_entry_free(libab_table_entry* entry) {