musl-tcc/src/search/tdestroy.c
2022-03-20 16:48:53 +08:00

17 lines
292 B
C

#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);
}