diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-08-03 13:02:58 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-08-05 09:30:37 +0200 |
commit | 60fe374247eba365afb7f1a7055298af575434c7 (patch) | |
tree | c3323eaf5c6939c5c9e4fd64671a443dcd521150 /cpukit/score/src | |
parent | Add and use RTEMS_CONTAINER_OF() (diff) | |
download | rtems-60fe374247eba365afb7f1a7055298af575434c7.tar.bz2 |
rbtree: Add and use RBTree_Compare_result
Diffstat (limited to 'cpukit/score/src')
-rw-r--r-- | cpukit/score/src/rbtreefind.c | 4 | ||||
-rw-r--r-- | cpukit/score/src/rbtreeinsert.c | 13 | ||||
-rw-r--r-- | cpukit/score/src/scheduleredf.c | 2 | ||||
-rw-r--r-- | cpukit/score/src/threadq.c | 2 |
4 files changed, 16 insertions, 5 deletions
diff --git a/cpukit/score/src/rbtreefind.c b/cpukit/score/src/rbtreefind.c index f7676260dc..168a108962 100644 --- a/cpukit/score/src/rbtreefind.c +++ b/cpukit/score/src/rbtreefind.c @@ -30,8 +30,8 @@ RBTree_Node *_RBTree_Find( RBTree_Node *found = NULL; while ( iter_node != NULL ) { - int compare_result = ( *compare )( the_node, iter_node ); - RBTree_Direction dir; + RBTree_Compare_result compare_result = ( *compare )( the_node, iter_node ); + RBTree_Direction dir; if ( _RBTree_Is_equal( compare_result ) ) { found = iter_node; diff --git a/cpukit/score/src/rbtreeinsert.c b/cpukit/score/src/rbtreeinsert.c index afff1ef5f9..3bccba5aaa 100644 --- a/cpukit/score/src/rbtreeinsert.c +++ b/cpukit/score/src/rbtreeinsert.c @@ -12,6 +12,16 @@ #include <rtems/score/rbtreeimpl.h> +RTEMS_STATIC_ASSERT( + sizeof( RBTree_Compare_result ) >= sizeof( intptr_t ), + RBTree_Compare_result_intptr_t +); + +RTEMS_STATIC_ASSERT( + sizeof( RBTree_Compare_result ) >= sizeof( int32_t ), + RBTree_Compare_result_int32_t +); + /** @brief Validate and fix-up tree properties for a new insert/colored node * * This routine checks and fixes the Red-Black Tree properties based on @@ -77,7 +87,8 @@ RBTree_Node *_RBTree_Insert( } else { /* typical binary search tree insert, descend tree to leaf and insert */ while ( iter_node ) { - int compare_result = ( *compare )( the_node, iter_node ); + RBTree_Compare_result compare_result = + ( *compare )( the_node, iter_node ); if ( is_unique && _RBTree_Is_equal( compare_result ) ) return iter_node; diff --git a/cpukit/score/src/scheduleredf.c b/cpukit/score/src/scheduleredf.c index 6dfa288999..00b6181e59 100644 --- a/cpukit/score/src/scheduleredf.c +++ b/cpukit/score/src/scheduleredf.c @@ -20,7 +20,7 @@ #include <rtems/score/scheduleredfimpl.h> -int _Scheduler_EDF_Compare( +RBTree_Compare_result _Scheduler_EDF_Compare( const RBTree_Node* n1, const RBTree_Node* n2 ) diff --git a/cpukit/score/src/threadq.c b/cpukit/score/src/threadq.c index b146ad410c..aa08541e93 100644 --- a/cpukit/score/src/threadq.c +++ b/cpukit/score/src/threadq.c @@ -24,7 +24,7 @@ #include <rtems/score/scheduler.h> #include <rtems/score/threadimpl.h> -int _Thread_queue_Compare_priority( +RBTree_Compare_result _Thread_queue_Compare_priority( const RBTree_Node *left, const RBTree_Node *right ) |