search: add tdestroy (gnu extension)
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
#define _GNU_SOURCE
|
||||
#include <stdlib.h>
|
||||
#include <search.h>
|
||||
|
||||
struct node {
|
||||
void *key;
|
||||
struct node *left;
|
||||
struct node *right;
|
||||
};
|
||||
|
||||
void tdestroy(void *root, void (*freekey)(void *))
|
||||
{
|
||||
struct node *r = root;
|
||||
|
||||
if (r == 0)
|
||||
return;
|
||||
tdestroy(r->left, freekey);
|
||||
tdestroy(r->right, freekey);
|
||||
freekey(r->key);
|
||||
free(r);
|
||||
}
|
||||
Reference in New Issue
Block a user