summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-03-01 08:12:54 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-03-01 10:12:26 +0100
commit441824ac7ac7cb4c39dc486373e30f937d358cd0 (patch)
tree5d66fba7db3c7ed82a1d6293e58b06673834b543
parentvalidation: Add comments to task tests (diff)
downloadrtems-441824ac7ac7cb4c39dc486373e30f937d358cd0.tar.bz2
score: Simplify _Objects_Name_to_id_u32()
Remove superfluous check for the objects maximum since the maximum is also used as a loop limit. Fix formatting.
-rw-r--r--cpukit/score/src/objectnametoid.c41
1 files changed, 21 insertions, 20 deletions
diff --git a/cpukit/score/src/objectnametoid.c b/cpukit/score/src/objectnametoid.c
index da5cbabbc4..c70410d955 100644
--- a/cpukit/score/src/objectnametoid.c
+++ b/cpukit/score/src/objectnametoid.c
@@ -22,6 +22,11 @@
#include <rtems/score/objectimpl.h>
+static bool _Objects_Is_local_node_search( uint32_t node )
+{
+ return node == OBJECTS_SEARCH_LOCAL_NODE || _Objects_Is_local_node( node );
+}
+
Objects_Name_or_id_lookup_errors _Objects_Name_to_id_u32(
uint32_t name,
uint32_t node,
@@ -29,36 +34,31 @@ Objects_Name_or_id_lookup_errors _Objects_Name_to_id_u32(
const Objects_Information *information
)
{
- bool search_local_node;
- const Objects_Control *the_object;
- Objects_Maximum maximum;
- Objects_Maximum index;
#if defined(RTEMS_MULTIPROCESSING)
- Objects_Name name_for_mp;
+ Objects_Name name_for_mp;
#endif
- /* ASSERT: information->is_string == false */
+ _Assert( !_Objects_Has_string_name( information ) );
- if ( !id )
+ if ( id == NULL ) {
return OBJECTS_INVALID_ADDRESS;
+ }
- maximum = _Objects_Get_maximum_index( information );
- search_local_node = false;
+ if (
+ node == OBJECTS_SEARCH_ALL_NODES ||
+ _Objects_Is_local_node_search( node )
+ ) {
+ Objects_Maximum maximum;
+ Objects_Maximum index;
- if ( maximum > 0 &&
- (node == OBJECTS_SEARCH_ALL_NODES ||
- node == OBJECTS_SEARCH_LOCAL_NODE ||
- _Objects_Is_local_node( node )
- ))
- search_local_node = true;
+ maximum = _Objects_Get_maximum_index( information );
- if ( search_local_node ) {
for ( index = 0; index < maximum; ++index ) {
+ const Objects_Control *the_object;
+
the_object = information->local_table[ index ];
- if ( !the_object )
- continue;
- if ( name == the_object->name.name_u32 ) {
+ if ( the_object != NULL && name == the_object->name.name_u32 ) {
*id = the_object->id;
_Assert( name != 0 );
return OBJECTS_NAME_OR_ID_LOOKUP_SUCCESSFUL;
@@ -67,8 +67,9 @@ Objects_Name_or_id_lookup_errors _Objects_Name_to_id_u32(
}
#if defined(RTEMS_MULTIPROCESSING)
- if ( _Objects_Is_local_node( node ) || node == OBJECTS_SEARCH_LOCAL_NODE )
+ if ( _Objects_Is_local_node_search( node ) ) {
return OBJECTS_INVALID_NAME;
+ }
name_for_mp.name_u32 = name;
return _Objects_MP_Global_name_search( information, name_for_mp, node, id );