From 4ff7e0f401e727b8b89e3408403574ff4bcd9751 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 9 Jan 2008 20:49:44 +0000 Subject: 2008-01-09 Joel Sherrill * score/src/objectgetnoprotection.c: Eliminate duplicate exit path code when there is an error. --- cpukit/score/src/objectgetnoprotection.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) (limited to 'cpukit/score/src/objectgetnoprotection.c') diff --git a/cpukit/score/src/objectgetnoprotection.c b/cpukit/score/src/objectgetnoprotection.c index d8df70cd46..d969477747 100644 --- a/cpukit/score/src/objectgetnoprotection.c +++ b/cpukit/score/src/objectgetnoprotection.c @@ -57,27 +57,23 @@ Objects_Control *_Objects_Get_no_protection( Objects_Control *the_object; uint32_t index; -#if defined(RTEMS_MULTIPROCESSING) + /* + * You can't just extract the index portion or you can get tricked + * by a value between 1 and maximum. + */ index = id - information->minimum_id + 1; -#else - /* index = _Objects_Get_index( id ); */ - index = id & 0x0000ffff; - /* This should work but doesn't always :( */ - /* index = (uint16_t ) id; */ -#endif - if ( information->maximum >= index ) { + if ( information->maximum >= index ) { if ( (the_object = information->local_table[ index ]) != NULL ) { *location = OBJECTS_LOCAL; return the_object; } - *location = OBJECTS_ERROR; - return NULL; } - *location = OBJECTS_ERROR; -/* - * Not supported for multiprocessing - */ + /* + * This isn't supported or required yet for Global objects so + * if it isn't local, we don't find it. + */ + *location = OBJECTS_ERROR; return NULL; } -- cgit v1.2.3