diff options
author | Patrick McHardy <kaber@trash.net> | 2004-08-15 05:09:07 -0700 |
---|---|---|
committer | David S. Miller <davem@kernel.bkbits.net> | 2004-08-15 05:09:07 -0700 |
commit | 26b561fb8226c4a33ec74b3a6a5bbde57d50175f (patch) | |
tree | 724a99355ce95dbb8e89e3251ddfc64ba99c8c34 /lib | |
parent | 550cfa2b3636462cb163b1f873b18ac0e7ab14b6 (diff) | |
download | history-26b561fb8226c4a33ec74b3a6a5bbde57d50175f.tar.gz |
[RBTREE]: Add rb_last()
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@redhat.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/rbtree.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/rbtree.c b/lib/rbtree.c index 621552c344e77a..14b791ac508972 100644 --- a/lib/rbtree.c +++ b/lib/rbtree.c @@ -312,6 +312,19 @@ struct rb_node *rb_first(struct rb_root *root) } EXPORT_SYMBOL(rb_first); +struct rb_node *rb_last(struct rb_root *root) +{ + struct rb_node *n; + + n = root->rb_node; + if (!n) + return NULL; + while (n->rb_right) + n = n->rb_right; + return n; +} +EXPORT_SYMBOL(rb_last); + struct rb_node *rb_next(struct rb_node *node) { /* If we have a right-hand child, go down and then left as far |