Add clear functions to table and trie.

This commit is contained in:
2018-05-31 19:29:14 -07:00
parent 34b97e42ac
commit 19416d0e15
4 changed files with 14 additions and 0 deletions

View File

@@ -110,6 +110,9 @@ void libab_table_set_parent(libab_table* table, libab_ref* parent) {
libab_ref_free(&table->parent);
libab_ref_copy(parent, &table->parent);
}
void libab_table_clear(libab_table* table) {
libab_trie_clear(&table->trie);
}
void libab_table_free(libab_table* table) {
libab_trie_foreach(&table->trie, NULL, compare_always,
_table_foreach_entry_free);

View File

@@ -110,6 +110,11 @@ int libab_trie_foreach(const libab_trie* trie, void* data, compare_func compare,
return _libab_trie_foreach(trie->head, data, compare, foreach);
}
void libab_trie_clear(libab_trie* trie) {
libab_trie_free(trie);
libab_trie_init(trie);
}
void libab_trie_free(libab_trie* trie) {
_libab_trie_free(trie->head);
trie->head = NULL;