void _freeTree(struct Node *node) { if (node != NULL) { _freeTree(node->Yes); _freeTree(node->No); free(node); } }
static void _reset (EtnEncoder *e) { ASSERT (e); _freeTree (&e->addrToIndex); rbtree_init (&e->addrToIndex, _compareFn, 0); }
/* function to clear the nodes of a binary search tree param: tree a binary search tree pre: tree ! = null post: the nodes of the tree are deallocated tree->root = 0; tree->cnt = 0 */ void clearTree(struct Tree *tree) { _freeTree(tree->root); tree->root = NULL; tree->cnt = 0; }