/************************************************************************ Delete a node indentified by key. @return TRUE if success FALSE if not found */ UNIV_INTERN ibool rbt_delete( /*=======*/ ib_rbt_t* tree, /*!< in: rb tree */ const void* key) /*!< in: key to delete */ { ibool deleted = FALSE; ib_rbt_node_t* node = (ib_rbt_node_t*) rbt_lookup(tree, key); if (node) { rbt_remove_node_and_rebalance(tree, node); ut_free(node); deleted = TRUE; } return(deleted); }
void rbt_delete(rbt_t* tree, void* value){ rbt_node_t* doomed = rbt_lookup(tree, value); if(doomed) rbt_delete_node(tree, doomed); }