=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/sudo/Attic/redblack.c,v retrieving revision 1.5 retrieving revision 1.6 diff -c -r1.5 -r1.6 *** src/usr.bin/sudo/Attic/redblack.c 2010/03/04 12:21:36 1.5 --- src/usr.bin/sudo/Attic/redblack.c 2013/02/04 15:29:00 1.6 *************** *** 418,424 **** { struct rbnode *sibling; ! while (node->color == black && node != rbroot(tree)) { if (node == node->parent->left) { sibling = node->parent->right; if (sibling->color == red) { --- 418,424 ---- { struct rbnode *sibling; ! while (node->color == black && node != rbfirst(tree)) { if (node == node->parent->left) { sibling = node->parent->right; if (sibling->color == red) { *************** *** 441,447 **** node->parent->color = black; sibling->right->color = black; rotate_left(tree, node->parent); ! node = rbroot(tree); /* exit loop */ } } else { /* if (node == node->parent->right) */ sibling = node->parent->left; --- 441,447 ---- node->parent->color = black; sibling->right->color = black; rotate_left(tree, node->parent); ! node = rbfirst(tree); /* exit loop */ } } else { /* if (node == node->parent->right) */ sibling = node->parent->left; *************** *** 465,471 **** node->parent->color = black; sibling->left->color = black; rotate_right(tree, node->parent); ! node = rbroot(tree); /* exit loop */ } } } --- 465,471 ---- node->parent->color = black; sibling->left->color = black; rotate_right(tree, node->parent); ! node = rbfirst(tree); /* exit loop */ } } }