make configure attempt to catch broken floating point CFLAGS/defaults
[musl.git] / src / search / tdestroy.c
blob5f9e197dcd1ea57869a0aa74f3c57d010ec163c6
1 #define _GNU_SOURCE
2 #include <stdlib.h>
3 #include <search.h>
5 struct node {
6 void *key;
7 struct node *left;
8 struct node *right;
9 };
11 void tdestroy(void *root, void (*freekey)(void *))
13 struct node *r = root;
15 if (r == 0)
16 return;
17 tdestroy(r->left, freekey);
18 tdestroy(r->right, freekey);
19 if (freekey) freekey(r->key);
20 free(r);