summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/objectgetnext.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/src/objectgetnext.c')
-rw-r--r--cpukit/score/src/objectgetnext.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/cpukit/score/src/objectgetnext.c b/cpukit/score/src/objectgetnext.c
index 054ed22fc1..156bee72a4 100644
--- a/cpukit/score/src/objectgetnext.c
+++ b/cpukit/score/src/objectgetnext.c
@@ -28,6 +28,7 @@ Objects_Control *_Objects_Get_next(
{
Objects_Control *the_object;
Objects_Id next_id;
+ Objects_Maximum maximum;
if ( !information )
return NULL;
@@ -41,21 +42,20 @@ Objects_Control *_Objects_Get_next(
next_id = id;
_Objects_Allocator_lock();
+ maximum = _Objects_Get_maximum_index( information );
do {
- /* walked off end of list? */
- if (_Objects_Get_index(next_id) > information->maximum)
- {
- _Objects_Allocator_unlock();
- *next_id_p = OBJECTS_ID_FINAL;
- return NULL;
- }
+ /* walked off end of list? */
+ if (_Objects_Get_index( next_id ) > maximum) {
+ _Objects_Allocator_unlock();
+ *next_id_p = OBJECTS_ID_FINAL;
+ return NULL;
+ }
- /* try to grab one */
- the_object = _Objects_Get_no_protection( next_id, information );
-
- next_id++;
+ /* try to grab one */
+ the_object = _Objects_Get_no_protection( next_id, information );
+ next_id++;
} while ( the_object == NULL );
*next_id_p = next_id;