2008-01-09 Joel Sherrill <joel.sherrill@OARcorp.com>

* score/src/objectgetnoprotection.c: Eliminate duplicate exit path code
	when there is an error.
This commit is contained in:
Joel Sherrill
2008-01-09 20:49:44 +00:00
parent 43fa4fc476
commit 4ff7e0f401
2 changed files with 15 additions and 14 deletions

View File

@@ -1,3 +1,8 @@
2008-01-09 Joel Sherrill <joel.sherrill@OARcorp.com>
* score/src/objectgetnoprotection.c: Eliminate duplicate exit path code
when there is an error.
2008-01-09 Jennifer Averett <jennifer.averett@OARcorp.com> 2008-01-09 Jennifer Averett <jennifer.averett@OARcorp.com>
* posix/src/keycreate.c, rtems/src/eventseize.c, * posix/src/keycreate.c, rtems/src/eventseize.c,

View File

@@ -57,27 +57,23 @@ Objects_Control *_Objects_Get_no_protection(
Objects_Control *the_object; Objects_Control *the_object;
uint32_t index; 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; 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 ) { if ( (the_object = information->local_table[ index ]) != NULL ) {
*location = OBJECTS_LOCAL; *location = OBJECTS_LOCAL;
return the_object; 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; return NULL;
} }