|
@@ -363,8 +363,7 @@ void rb_erase(struct rb_node *node, struct rb_root *root)
|
|
|
child = node->rb_right;
|
|
|
else if (!node->rb_right)
|
|
|
child = node->rb_left;
|
|
|
- else
|
|
|
- {
|
|
|
+ else {
|
|
|
struct rb_node *old = node, *left;
|
|
|
|
|
|
node = node->rb_right;
|
|
@@ -406,17 +405,15 @@ void rb_erase(struct rb_node *node, struct rb_root *root)
|
|
|
|
|
|
if (child)
|
|
|
rb_set_parent(child, parent);
|
|
|
- if (parent)
|
|
|
- {
|
|
|
+ if (parent) {
|
|
|
if (parent->rb_left == node)
|
|
|
parent->rb_left = child;
|
|
|
else
|
|
|
parent->rb_right = child;
|
|
|
- }
|
|
|
- else
|
|
|
+ } else
|
|
|
root->rb_node = child;
|
|
|
|
|
|
- color:
|
|
|
+color:
|
|
|
if (color == RB_BLACK)
|
|
|
__rb_erase_color(child, parent, root);
|
|
|
}
|
|
@@ -529,8 +526,10 @@ struct rb_node *rb_next(const struct rb_node *node)
|
|
|
if (RB_EMPTY_NODE(node))
|
|
|
return NULL;
|
|
|
|
|
|
- /* If we have a right-hand child, go down and then left as far
|
|
|
- as we can. */
|
|
|
+ /*
|
|
|
+ * If we have a right-hand child, go down and then left as far
|
|
|
+ * as we can.
|
|
|
+ */
|
|
|
if (node->rb_right) {
|
|
|
node = node->rb_right;
|
|
|
while (node->rb_left)
|
|
@@ -538,12 +537,13 @@ struct rb_node *rb_next(const struct rb_node *node)
|
|
|
return (struct rb_node *)node;
|
|
|
}
|
|
|
|
|
|
- /* No right-hand children. Everything down and left is
|
|
|
- smaller than us, so any 'next' node must be in the general
|
|
|
- direction of our parent. Go up the tree; any time the
|
|
|
- ancestor is a right-hand child of its parent, keep going
|
|
|
- up. First time it's a left-hand child of its parent, said
|
|
|
- parent is our 'next' node. */
|
|
|
+ /*
|
|
|
+ * No right-hand children. Everything down and left is smaller than us,
|
|
|
+ * so any 'next' node must be in the general direction of our parent.
|
|
|
+ * Go up the tree; any time the ancestor is a right-hand child of its
|
|
|
+ * parent, keep going up. First time it's a left-hand child of its
|
|
|
+ * parent, said parent is our 'next' node.
|
|
|
+ */
|
|
|
while ((parent = rb_parent(node)) && node == parent->rb_right)
|
|
|
node = parent;
|
|
|
|
|
@@ -558,8 +558,10 @@ struct rb_node *rb_prev(const struct rb_node *node)
|
|
|
if (RB_EMPTY_NODE(node))
|
|
|
return NULL;
|
|
|
|
|
|
- /* If we have a left-hand child, go down and then right as far
|
|
|
- as we can. */
|
|
|
+ /*
|
|
|
+ * If we have a left-hand child, go down and then right as far
|
|
|
+ * as we can.
|
|
|
+ */
|
|
|
if (node->rb_left) {
|
|
|
node = node->rb_left;
|
|
|
while (node->rb_right)
|
|
@@ -567,8 +569,10 @@ struct rb_node *rb_prev(const struct rb_node *node)
|
|
|
return (struct rb_node *)node;
|
|
|
}
|
|
|
|
|
|
- /* No left-hand children. Go up till we find an ancestor which
|
|
|
- is a right-hand child of its parent */
|
|
|
+ /*
|
|
|
+ * No left-hand children. Go up till we find an ancestor which
|
|
|
+ * is a right-hand child of its parent.
|
|
|
+ */
|
|
|
while ((parent = rb_parent(node)) && node == parent->rb_left)
|
|
|
node = parent;
|
|
|
|