diff --git a/src/tree.c b/src/tree.c index b6a3e15..f921a90 100644 --- a/src/tree.c +++ b/src/tree.c @@ -26,18 +26,11 @@ void tree_node_init(tree_node_t* node) { int tree_add(tree_t* tree, tree_node_t* node, uintptr_t key) { tree_node_t* existing_node; - if (key == 0) - return_error(-1, ERROR_INVALID_PARAMETER); - if (node->key != 0) - return_error(-1, ERROR_ALREADY_EXISTS); - node->key = key; existing_node = RB_INSERT(tree, tree, node); - if (existing_node != NULL) { - node->key = 0; + if (existing_node != NULL) return_error(-1, ERROR_ALREADY_EXISTS); - } return 0; } @@ -45,9 +38,6 @@ int tree_add(tree_t* tree, tree_node_t* node, uintptr_t key) { int tree_del(tree_t* tree, tree_node_t* node) { tree_node_t* removed_node; - if (node->key == 0) - return_error(-1, ERROR_NOT_FOUND); - removed_node = RB_REMOVE(tree, tree, node); if (removed_node == NULL) @@ -55,8 +45,6 @@ int tree_del(tree_t* tree, tree_node_t* node) { else assert(removed_node == node); - node->key = 0; - return 0; } @@ -64,9 +52,6 @@ tree_node_t* tree_find(tree_t* tree, uintptr_t key) { tree_node_t* node; tree_node_t lookup; - if (key == 0) - return_error(NULL, ERROR_INVALID_PARAMETER); - memset(&lookup, 0, sizeof lookup); lookup.key = key;