summaryrefslogtreecommitdiff
path: root/tern.c
diff options
context:
space:
mode:
Diffstat (limited to 'tern.c')
-rw-r--r--tern.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/tern.c b/tern.c
index 7f772b7..2036b64 100644
--- a/tern.c
+++ b/tern.c
@@ -224,3 +224,16 @@ tern_node * tern_get_node(tern_val value)
{
return value.intval & 1 ? (tern_node *)(value.intval & ~1) : NULL;
}
+
+void tern_free(tern_node *head)
+{
+ if (head->left) {
+ tern_free(head->left);
+ }
+ if (head->right) {
+ tern_free(head->right);
+ }
+ if (head->el) {
+ tern_free(head->straight.next);
+ }
+}