root/src/system/libroot/posix/musl/search/tdestroy.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);
}