diff options
author | Jens Axboe <axboe@suse.de> | 2006-07-11 15:15:52 -0400 |
---|---|---|
committer | Jens Axboe <axboe@nelson.home.kernel.dk> | 2006-09-30 14:26:56 -0400 |
commit | 10fd48f2376db52f08bf0420d2c4f580e39269e1 (patch) | |
tree | 89de18dcda9c8a09937187a0e8d138cfe3cb4089 /lib/rbtree.c | |
parent | 9817064b68fef7e4580c6df1ea597e106b9ff88b (diff) |
[PATCH] rbtree: fixed reversed RB_EMPTY_NODE and rb_next/prev
The conditions got reserved. Also make rb_next() and rb_prev() check
for the empty condition.
Signed-off-by: Jens Axboe <axboe@suse.de>
Diffstat (limited to 'lib/rbtree.c')
-rw-r--r-- | lib/rbtree.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/rbtree.c b/lib/rbtree.c index 1e55ba1c2edf..48499c2d88cc 100644 --- a/lib/rbtree.c +++ b/lib/rbtree.c | |||
@@ -322,6 +322,9 @@ struct rb_node *rb_next(struct rb_node *node) | |||
322 | { | 322 | { |
323 | struct rb_node *parent; | 323 | struct rb_node *parent; |
324 | 324 | ||
325 | if (rb_parent(node) == node) | ||
326 | return NULL; | ||
327 | |||
325 | /* If we have a right-hand child, go down and then left as far | 328 | /* If we have a right-hand child, go down and then left as far |
326 | as we can. */ | 329 | as we can. */ |
327 | if (node->rb_right) { | 330 | if (node->rb_right) { |
@@ -348,6 +351,9 @@ struct rb_node *rb_prev(struct rb_node *node) | |||
348 | { | 351 | { |
349 | struct rb_node *parent; | 352 | struct rb_node *parent; |
350 | 353 | ||
354 | if (rb_parent(node) == node) | ||
355 | return NULL; | ||
356 | |||
351 | /* If we have a left-hand child, go down and then right as far | 357 | /* If we have a left-hand child, go down and then right as far |
352 | as we can. */ | 358 | as we can. */ |
353 | if (node->rb_left) { | 359 | if (node->rb_left) { |