Lines Matching refs:succ_node
108 rb_node *succ_node; in rbnode_successor() local
117 succ_node = node->right; in rbnode_successor()
118 while (succ_node->left) in rbnode_successor()
119 succ_node = succ_node->left; in rbnode_successor()
127 succ_node = node->parent; in rbnode_successor()
128 while (succ_node && prev_node == succ_node->right) { in rbnode_successor()
129 prev_node = succ_node; in rbnode_successor()
130 succ_node = succ_node->parent; in rbnode_successor()
134 return (succ_node); in rbnode_successor()
508 rb_node *succ_node = rbnode_minimum(node->right); in rbtree_remove_at() local
516 int immediate_succ = (node->right == succ_node); in rbtree_remove_at()
517 rb_node *succ_parent = succ_node->parent; in rbtree_remove_at()
518 rb_node *succ_left = succ_node->left; in rbtree_remove_at()
519 rb_node *succ_right = succ_node->right; in rbtree_remove_at()
520 rb_color succ_color = succ_node->color; in rbtree_remove_at()
522 succ_node->parent = node->parent; in rbtree_remove_at()
523 succ_node->left = node->left; in rbtree_remove_at()
524 succ_node->right = immediate_succ ? node : node->right; in rbtree_remove_at()
525 succ_node->color = node->color; in rbtree_remove_at()
527 node->parent = immediate_succ ? succ_node : succ_parent; in rbtree_remove_at()
533 if (succ_node == node->parent->left) in rbtree_remove_at()
544 if (succ_node->parent) { in rbtree_remove_at()
545 if (node == succ_node->parent->left) in rbtree_remove_at()
546 succ_node->parent->left = succ_node; in rbtree_remove_at()
548 succ_node->parent->right = succ_node; in rbtree_remove_at()
550 tree->root = succ_node; in rbtree_remove_at()
553 if (succ_node->left) in rbtree_remove_at()
554 succ_node->left->parent = succ_node; in rbtree_remove_at()
555 if (succ_node->right) in rbtree_remove_at()
556 succ_node->right->parent = succ_node; in rbtree_remove_at()