blob: 22b2adbd12d42797f00dd76002a35e4c5109b7d3 [file] [log] [blame]
#define _GNU_SOURCE
#include <stdlib.h>
#include <search.h>
struct node {
void* key;
struct node* left;
struct node* right;
};
void tdestroy(void* root, void (*freekey)(void*)) {
struct node* r = root;
if (r == 0)
return;
tdestroy(r->left, freekey);
tdestroy(r->right, freekey);
if (freekey)
freekey(r->key);
free(r);
}