diff --git a/src/tree.c b/src/tree.c index e928777594cfbda978998ec9004bd2c6cf314ccd..2c9ee88b5fbb90623a38d0a276f078774299f9d8 100644 --- a/src/tree.c +++ b/src/tree.c @@ -183,8 +183,8 @@ static void delete_tree_node(struct tree_node_t * curr, void (*freeKey)(void *), * par rapport aux valeurs deleteKey et deleteData. */ void delete_tree(struct tree_t * T, int deleteKey, int deleteData) { - assert(deleteKey == 0 || deleteKey == 1); - assert(deleteData == 0 || deleteData == 1); + //assert(deleteKey == 0 || deleteKey == 1); + //assert(deleteData == 0 || deleteData == 1); // A FAIRE assert(T); if (get_root(T)) @@ -545,5 +545,7 @@ static struct tree_node_t * remove_tree_node(struct tree_node_t * curr, void * k void * tree_remove(struct tree_t * T, void * key) { void* data = NULL; struct tree_node_t* node = remove_tree_node(get_root(T), key, &data, tree_is_balanced(T), T->preceed); + if (node) + decrease_tree_size(T); return data; }