From 441824ac7ac7cb4c39dc486373e30f937d358cd0 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 1 Mar 2021 08:12:54 +0100 Subject: 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. --- cpukit/score/src/objectnametoid.c | 41 ++++++++++++++++++++------------------- 1 file 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 +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 ); -- cgit v1.2.3