From 4abab5ad6c8465a7528ccdd5f49367da05f78bbd Mon Sep 17 00:00:00 2001 From: Vladimir Azarov Date: Tue, 1 Oct 2024 15:47:05 +0200 Subject: Initial version --- src/search/tdestroy.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/search/tdestroy.c (limited to 'src/search/tdestroy.c') diff --git a/src/search/tdestroy.c b/src/search/tdestroy.c new file mode 100644 index 0000000..699a901 --- /dev/null +++ b/src/search/tdestroy.c @@ -0,0 +1,16 @@ +#define _GNU_SOURCE +#include +#include +#include "tsearch.h" + +void tdestroy(void *root, void (*freekey)(void *)) +{ + struct node *r = root; + + if (r == 0) + return; + tdestroy(r->a[0], freekey); + tdestroy(r->a[1], freekey); + if (freekey) freekey((void *)r->key); + free(r); +} -- cgit v1.2.3