1#define _GNU_SOURCE
2#include <stdlib.h>
3#include <search.h>
4#include "tsearch.h"
5
6void tdestroy(void *root, void (*freekey)(void *))
7{
8	struct node *r = root;
9
10	if (r == 0)
11		return;
12	tdestroy(r->a[0], freekey);
13	tdestroy(r->a[1], freekey);
14	if (freekey) freekey((void *)r->key);
15	free(r);
16}
17