|
|
@ -28,6 +28,7 @@ TR_treeDelete(TR_Tree * this, const void * search, TR_TreeComp comp) |
|
|
{ |
|
|
{ |
|
|
TR_Tree node = *this; |
|
|
TR_Tree node = *this; |
|
|
TR_Tree del_node; |
|
|
TR_Tree del_node; |
|
|
|
|
|
TR_Tree sibling; |
|
|
int found; |
|
|
int found; |
|
|
|
|
|
|
|
|
void * data; |
|
|
void * data; |
|
|
@ -104,10 +105,7 @@ TR_treeDelete(TR_Tree * this, const void * search, TR_TreeComp comp) |
|
|
* rebalancing process...(this does not make much sense, but |
|
|
* rebalancing process...(this does not make much sense, but |
|
|
* to be honest I don't know now.) |
|
|
* to be honest I don't know now.) |
|
|
*/ |
|
|
*/ |
|
|
{ |
|
|
|
|
|
TR_Tree sibling = TR_TREE_SIBLING(node); |
|
|
|
|
|
TR_TREE_BALANCE_DELETE(this, node, sibling); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
TR_TREE_BALANCE_DELETE(this, node, sibling); |
|
|
|
|
|
|
|
|
TR_delete(del_node); |
|
|
TR_delete(del_node); |
|
|
return data; |
|
|
return data; |
|
|
|