| /** |
| * This file has no copyright assigned and is placed in the Public Domain. |
| * This file is part of the mingw-w64 runtime package. |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| */ |
| |
| #include <assert.h> |
| #define _SEARCH_PRIVATE |
| #define _GNU_SOURCE |
| #include <stdlib.h> |
| #include <search.h> |
| |
| |
| /* destroy tree recursively and call free_node on each node key */ |
| void tdestroy(void *root, void (*free_node)(void *)) |
| { |
| node_t *p = (node_t *)root; |
| if (!p) |
| return; |
| |
| tdestroy(p->llink , free_node); |
| tdestroy(p->rlink, free_node); |
| free_node((void*)p->key); |
| free(p); |
| } |