[PATCH 2/3] rbtree: Remove superfluous NULL pointer checks

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Jul 21 16:31:58 UTC 2014


---
 cpukit/score/include/rtems/score/rbtree.h |  7 +++----
 cpukit/score/src/rbtree.c                 |  3 ---
 cpukit/score/src/rbtreeextract.c          | 10 ----------
 cpukit/score/src/rbtreeinsert.c           |  3 ---
 testsuites/sptests/sprbtree01/init.c      |  3 ---
 5 files changed, 3 insertions(+), 23 deletions(-)

diff --git a/cpukit/score/include/rtems/score/rbtree.h b/cpukit/score/include/rtems/score/rbtree.h
index a219a6e..aa7b86e 100644
--- a/cpukit/score/include/rtems/score/rbtree.h
+++ b/cpukit/score/include/rtems/score/rbtree.h
@@ -229,10 +229,9 @@ RBTree_Node *_RBTree_Find(
  * @param[in] is_unique If true, then reject nodes with a duplicate key, else
  *   otherwise.
  *
- *  @retval 0 Successfully inserted.
- *  @retval -1 NULL @a the_node.
- *  @retval RBTree_Node* if one with equal value to @a the_node 's key exists
- *          in an unique @a the_rbtree.
+ * @retval NULL Successfully inserted.
+ * @retval existing_node This is a unique insert and there exists a node with
+ *   an equal key in the tree already.
  */
 RBTree_Node *_RBTree_Insert(
   RBTree_Control *the_rbtree,
diff --git a/cpukit/score/src/rbtree.c b/cpukit/score/src/rbtree.c
index 2138a81..064cc0c 100644
--- a/cpukit/score/src/rbtree.c
+++ b/cpukit/score/src/rbtree.c
@@ -34,9 +34,6 @@ void _RBTree_Initialize(
   size_t       count;
   RBTree_Node *next;
 
-  /* TODO: Error message? */
-  if ( !the_rbtree ) return;
-
   /* could do sanity checks here */
   _RBTree_Initialize_empty( the_rbtree );
 
diff --git a/cpukit/score/src/rbtreeextract.c b/cpukit/score/src/rbtreeextract.c
index 2638f63..7775b2f 100644
--- a/cpukit/score/src/rbtreeextract.c
+++ b/cpukit/score/src/rbtreeextract.c
@@ -11,7 +11,6 @@
 #endif
 
 #include <rtems/score/rbtreeimpl.h>
-#include <rtems/score/isr.h>
 
 /** @brief  Validate and fix-up tree properties after deleting a node
  *
@@ -90,13 +89,6 @@ static void _RBTree_Extract_validate( RBTree_Node *the_node )
     the_node->color = RBT_BLACK;
 }
 
-/** @brief Extract a Node (unprotected)
- *
- *  This routine extracts (removes) @a the_node from @a the_rbtree.
- *
- *  @note It does NOT disable interrupts to ensure the atomicity
- *        of the extract operation.
- */
 void _RBTree_Extract(
   RBTree_Control *the_rbtree,
   RBTree_Node    *the_node
@@ -106,8 +98,6 @@ void _RBTree_Extract(
   RBTree_Color     victim_color;
   RBTree_Direction dir;
 
-  if ( !the_node ) return;
-
   /* check if min needs to be updated */
   if ( the_node == the_rbtree->first[ RBT_LEFT ] ) {
     RBTree_Node *next;
diff --git a/cpukit/score/src/rbtreeinsert.c b/cpukit/score/src/rbtreeinsert.c
index 369ef26..b31c8e7 100644
--- a/cpukit/score/src/rbtreeinsert.c
+++ b/cpukit/score/src/rbtreeinsert.c
@@ -11,7 +11,6 @@
 #endif
 
 #include <rtems/score/rbtreeimpl.h>
-#include <rtems/score/isr.h>
 
 /** @brief Validate and fix-up tree properties for a new insert/colored node
  *
@@ -67,8 +66,6 @@ RBTree_Node *_RBTree_Insert(
   bool            is_unique
 )
 {
-  if ( !the_node ) return (RBTree_Node *) -1;
-
   RBTree_Node *iter_node = the_rbtree->root;
 
   if ( !iter_node ) { /* special case: first node inserted */
diff --git a/testsuites/sptests/sprbtree01/init.c b/testsuites/sptests/sprbtree01/init.c
index acf7f68..ca79095 100644
--- a/testsuites/sptests/sprbtree01/init.c
+++ b/testsuites/sptests/sprbtree01/init.c
@@ -149,9 +149,6 @@ rtems_task Init(
   rb_insert_unique( &rbtree1, &node1.Node );
   rb_insert_unique( &rbtree1, &node2.Node );
 
-  p = rb_insert_unique( &rbtree1, NULL );
-  if (p != (void *)(-1))
-    puts( "INIT - FAILED NULL NODE INSERT" );
 
   _RBTree_Rotate(NULL, RBT_LEFT);
   i = (node1.Node.parent == &node2.Node);
-- 
1.8.1.4




More information about the devel mailing list