OLD | NEW |
1 #define _GNU_SOURCE | 1 #define _GNU_SOURCE |
2 #include <stdlib.h> | 2 #include <stdlib.h> |
3 #include <search.h> | 3 #include <search.h> |
4 | 4 |
5 struct node { | 5 struct node { |
6 » void *key; | 6 void* key; |
7 » struct node *left; | 7 struct node* left; |
8 » struct node *right; | 8 struct node* right; |
9 }; | 9 }; |
10 | 10 |
11 void tdestroy(void *root, void (*freekey)(void *)) | 11 void tdestroy(void* root, void (*freekey)(void*)) { |
12 { | 12 struct node* r = root; |
13 » struct node *r = root; | |
14 | 13 |
15 » if (r == 0) | 14 if (r == 0) |
16 » » return; | 15 return; |
17 » tdestroy(r->left, freekey); | 16 tdestroy(r->left, freekey); |
18 » tdestroy(r->right, freekey); | 17 tdestroy(r->right, freekey); |
19 » if (freekey) freekey(r->key); | 18 if (freekey) |
20 » free(r); | 19 freekey(r->key); |
| 20 free(r); |
21 } | 21 } |
OLD | NEW |