Lines Matching refs:smright
340 rbnode_type *smright = to_delete->right;
341 while(smright->left != RBTREE_NULL)
342 smright = smright->left;
343 /* swap the smright and to_delete elements in the tree,
349 swap_int8(&to_delete->color, &smright->color);
351 /* swap child pointers in parents of smright/to_delete */
352 change_parent_ptr(rbtree, to_delete->parent, to_delete, smright);
353 if(to_delete->right != smright)
354 change_parent_ptr(rbtree, smright->parent, smright, to_delete);
356 /* swap parent pointers in children of smright/to_delete */
357 change_child_ptr(smright->left, smright, to_delete);
358 change_child_ptr(smright->left, smright, to_delete);
359 change_child_ptr(smright->right, smright, to_delete);
360 change_child_ptr(smright->right, smright, to_delete);
361 change_child_ptr(to_delete->left, to_delete, smright);
362 if(to_delete->right != smright)
363 change_child_ptr(to_delete->right, to_delete, smright);
364 if(to_delete->right == smright)
368 smright->parent = smright;
371 /* swap pointers in to_delete/smright nodes */
372 swap_np(&to_delete->parent, &smright->parent);
373 swap_np(&to_delete->left, &smright->left);
374 swap_np(&to_delete->right, &smright->right);
376 /* now delete to_delete (which is at the location where the smright previously was) */