summaryrefslogtreecommitdiffstats
path: root/src/trie.c
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2023-08-31 10:16:35 -0400
committerTavian Barnes <tavianator@tavianator.com>2023-08-31 10:16:35 -0400
commit345047be5b8766a9763d4a717ff034e4e4083ade (patch)
treed1865a39269919087ace15184643907a56d62090 /src/trie.c
parent5f736eada55f84c7499103faf7c181b80eb7092f (diff)
downloadbfs-345047be5b8766a9763d4a717ff034e4e4083ade.tar.xz
trie: New trie_clear() function
Diffstat (limited to 'src/trie.c')
-rw-r--r--src/trie.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/trie.c b/src/trie.c
index 0206509..77aa2d0 100644
--- a/src/trie.c
+++ b/src/trie.c
@@ -715,6 +715,14 @@ void trie_remove(struct trie *trie, struct trie_leaf *leaf) {
trie_remove_impl(trie, leaf);
}
+void trie_clear(struct trie *trie) {
+ trie->root = 0;
+ LIST_INIT(trie);
+
+ varena_clear(&trie->leaves);
+ varena_clear(&trie->nodes);
+}
+
void trie_destroy(struct trie *trie) {
varena_destroy(&trie->leaves);
varena_destroy(&trie->nodes);