#define _GNU_SOURCE | |
#include <stdlib.h> | |
#include <search.h> | |
#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); | |
} |