aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rbtree.c
diff options
context:
space:
mode:
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2009-01-10 06:12:09 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2009-01-10 09:04:33 -0500
commitf4b477c47332367d35686bd2b808c2156b96d7c7 (patch)
treeab8a2cf098b69be9ed7a44426106a7af596241d9 /lib/rbtree.c
parentcfce41a6d643c001d416ead960caf04fae2d609a (diff)
rbtree: add const qualifier to some functions
The 'rb_first()', 'rb_last()', 'rb_next()' and 'rb_prev()' calls take a pointer to an RB node or RB root. They do not change the pointed objects, so add a 'const' qualifier in order to make life of the users of these functions easier. Indeed, if I have my own constant pointer &const struct my_type *p, and I call 'rb_next(&p->rb)', I get a GCC warning: warning: passing argument 1 of ‘rb_next’ discards qualifiers from pointer target type Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib/rbtree.c')
-rw-r--r--lib/rbtree.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/rbtree.c b/lib/rbtree.c
index 48499c2d88c..9956b99649f 100644
--- a/lib/rbtree.c
+++ b/lib/rbtree.c
@@ -292,7 +292,7 @@ EXPORT_SYMBOL(rb_erase);
292/* 292/*
293 * This function returns the first node (in sort order) of the tree. 293 * This function returns the first node (in sort order) of the tree.
294 */ 294 */
295struct rb_node *rb_first(struct rb_root *root) 295struct rb_node *rb_first(const struct rb_root *root)
296{ 296{
297 struct rb_node *n; 297 struct rb_node *n;
298 298
@@ -305,7 +305,7 @@ struct rb_node *rb_first(struct rb_root *root)
305} 305}
306EXPORT_SYMBOL(rb_first); 306EXPORT_SYMBOL(rb_first);
307 307
308struct rb_node *rb_last(struct rb_root *root) 308struct rb_node *rb_last(const struct rb_root *root)
309{ 309{
310 struct rb_node *n; 310 struct rb_node *n;
311 311
@@ -318,7 +318,7 @@ struct rb_node *rb_last(struct rb_root *root)
318} 318}
319EXPORT_SYMBOL(rb_last); 319EXPORT_SYMBOL(rb_last);
320 320
321struct rb_node *rb_next(struct rb_node *node) 321struct rb_node *rb_next(const struct rb_node *node)
322{ 322{
323 struct rb_node *parent; 323 struct rb_node *parent;
324 324
@@ -331,7 +331,7 @@ struct rb_node *rb_next(struct rb_node *node)
331 node = node->rb_right; 331 node = node->rb_right;
332 while (node->rb_left) 332 while (node->rb_left)
333 node=node->rb_left; 333 node=node->rb_left;
334 return node; 334 return (struct rb_node *)node;
335 } 335 }
336 336
337 /* No right-hand children. Everything down and left is 337 /* No right-hand children. Everything down and left is
@@ -347,7 +347,7 @@ struct rb_node *rb_next(struct rb_node *node)
347} 347}
348EXPORT_SYMBOL(rb_next); 348EXPORT_SYMBOL(rb_next);
349 349
350struct rb_node *rb_prev(struct rb_node *node) 350struct rb_node *rb_prev(const struct rb_node *node)
351{ 351{
352 struct rb_node *parent; 352 struct rb_node *parent;
353 353
@@ -360,7 +360,7 @@ struct rb_node *rb_prev(struct rb_node *node)
360 node = node->rb_left; 360 node = node->rb_left;
361 while (node->rb_right) 361 while (node->rb_right)
362 node=node->rb_right; 362 node=node->rb_right;
363 return node; 363 return (struct rb_node *)node;
364 } 364 }
365 365
366 /* No left-hand children. Go up till we find an ancestor which 366 /* No left-hand children. Go up till we find an ancestor which