math: fix fmaf not to depend on FE_TOWARDZERO
[musl] / src / search / tdestroy.c
index 6f430bd..699a901 100644 (file)
@@ -1,12 +1,7 @@
 #define _GNU_SOURCE
 #include <stdlib.h>
 #include <search.h>
-
-struct node {
-       void *key;
-       struct node *left;
-       struct node *right;
-};
+#include "tsearch.h"
 
 void tdestroy(void *root, void (*freekey)(void *))
 {
@@ -14,8 +9,8 @@ void tdestroy(void *root, void (*freekey)(void *))
 
        if (r == 0)
                return;
-       tdestroy(r->left, freekey);
-       tdestroy(r->right, freekey);
-       freekey(r->key);
+       tdestroy(r->a[0], freekey);
+       tdestroy(r->a[1], freekey);
+       if (freekey) freekey((void *)r->key);
        free(r);
 }