projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[MIPS] Separate performance counter interrupts
[powerpc.git]
/
lib
/
rbtree.c
diff --git
a/lib/rbtree.c
b/lib/rbtree.c
index
4a7173c
..
48499c2
100644
(file)
--- a/
lib/rbtree.c
+++ b/
lib/rbtree.c
@@
-170,7
+170,7
@@
static void __rb_erase_color(struct rb_node *node, struct rb_node *parent,
__rb_rotate_right(other, root);
other = parent->rb_right;
}
__rb_rotate_right(other, root);
other = parent->rb_right;
}
- rb_set_colo
ur(other, rb_colou
r(parent));
+ rb_set_colo
r(other, rb_colo
r(parent));
rb_set_black(parent);
if (other->rb_right)
rb_set_black(other->rb_right);
rb_set_black(parent);
if (other->rb_right)
rb_set_black(other->rb_right);
@@
-207,7
+207,7
@@
static void __rb_erase_color(struct rb_node *node, struct rb_node *parent,
__rb_rotate_left(other, root);
other = parent->rb_left;
}
__rb_rotate_left(other, root);
other = parent->rb_left;
}
- rb_set_colo
ur(other, rb_colou
r(parent));
+ rb_set_colo
r(other, rb_colo
r(parent));
rb_set_black(parent);
if (other->rb_left)
rb_set_black(other->rb_left);
rb_set_black(parent);
if (other->rb_left)
rb_set_black(other->rb_left);
@@
-239,7
+239,7
@@
void rb_erase(struct rb_node *node, struct rb_root *root)
node = left;
child = node->rb_right;
parent = rb_parent(node);
node = left;
child = node->rb_right;
parent = rb_parent(node);
- color = rb_colo
u
r(node);
+ color = rb_color(node);
if (child)
rb_set_parent(child, parent);
if (child)
rb_set_parent(child, parent);
@@
-249,7
+249,7
@@
void rb_erase(struct rb_node *node, struct rb_root *root)
} else
parent->rb_left = child;
} else
parent->rb_left = child;
- node->rb_parent_colo
ur = old->rb_parent_colou
r;
+ node->rb_parent_colo
r = old->rb_parent_colo
r;
node->rb_right = old->rb_right;
node->rb_left = old->rb_left;
node->rb_right = old->rb_right;
node->rb_left = old->rb_left;
@@
-269,7
+269,7
@@
void rb_erase(struct rb_node *node, struct rb_root *root)
}
parent = rb_parent(node);
}
parent = rb_parent(node);
- color = rb_colo
u
r(node);
+ color = rb_color(node);
if (child)
rb_set_parent(child, parent);
if (child)
rb_set_parent(child, parent);
@@
-322,6
+322,9
@@
struct rb_node *rb_next(struct rb_node *node)
{
struct rb_node *parent;
{
struct rb_node *parent;
+ if (rb_parent(node) == node)
+ return NULL;
+
/* If we have a right-hand child, go down and then left as far
as we can. */
if (node->rb_right) {
/* If we have a right-hand child, go down and then left as far
as we can. */
if (node->rb_right) {
@@
-348,6
+351,9
@@
struct rb_node *rb_prev(struct rb_node *node)
{
struct rb_node *parent;
{
struct rb_node *parent;
+ if (rb_parent(node) == node)
+ return NULL;
+
/* If we have a left-hand child, go down and then right as far
as we can. */
if (node->rb_left) {
/* If we have a left-hand child, go down and then right as far
as we can. */
if (node->rb_left) {