From 4bb3166b89ab6b0200907cf0a1e7f975af3479c6 Mon Sep 17 00:00:00 2001
From: vitawrap <thevitawrap@gmail.com>
Date: Sun, 9 Apr 2023 17:55:53 +0200
Subject: [PATCH] Trees: insertion pour cmp 0 et pas de freeKey dans
 tree_remove

---
 src/tree.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/src/tree.c b/src/tree.c
index 55e01ca..e928777 100644
--- a/src/tree.c
+++ b/src/tree.c
@@ -340,9 +340,9 @@ static struct tree_node_t * insert_into_tree_node(struct tree_node_t * curr, voi
 	}
 	else { // recherche récursif de la position à insérer + mise à jour du facteur d'équilibre
 		int cmp = preceed(key, get_tree_node_key(curr));
-		if (cmp < 0) {       //Cas 1 : clé du nv noeud inf a noeud curr => nv noeud dans curr->left
+		if (cmp < 0) {      //Cas 1 : clé du nv noeud inf a noeud curr => nv noeud dans curr->left
 			curr->left = insert_into_tree_node(curr->left, key, data, balanced, preceed);
-		} else if (cmp > 0) { //Cas 2 : clé du nv noeud sup a noeud curr => nv noeud dans curr->right
+		} else {			//Cas 2 : cmp 0 OU clé du nv noeud sup a noeud curr => nv noeud dans curr->right
 			curr->right = insert_into_tree_node(curr->right, key, data, balanced, preceed);
 		} 
 	}//FIN PARTIE 1
@@ -545,9 +545,5 @@ 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)
-	{
-		T->freeKey(key);
-	}
 	return data;
 }
-- 
GitLab