Lines Matching refs:successor
233 struct bintree_node *successor;
235 /* find successor of the removing node */
236 successor = bintree_lookup_node_min (node->bl_right);
238 /* remove successor from tree */
239 if (successor->bl_right)
240 bintree_remove_onechild (successor);
242 bintree_remove_nochild (successor);
244 /* swap removing node with successor */
245 successor->parent = node->parent;
246 successor->parent_link = node->parent_link;
247 successor->bl_left = node->bl_left;
248 successor->bl_right = node->bl_right;
250 /* if the successor was the node->bl_right itself,
252 so only the successor->bl_right may be NULL
254 successor->bl_left->parent = successor;
255 if (successor->bl_right)
256 successor->bl_right->parent = successor;
258 if (successor->parent == NULL)
259 tree->root = successor;
261 successor->parent->link[successor->parent_link] = successor;
322 replaced with its successor. that certainly will not be processed