[RTEMS Project] #1423: inconsitience in _Objects_Initialize_information

RTEMS trac trac at rtems.org
Sun Nov 23 14:43:23 UTC 2014


#1423: inconsitience in _Objects_Initialize_information
-----------------------+----------------------------
 Reporter:  nbkolchin  |       Owner:  joel.sherrill
     Type:  defect     |      Status:  closed
 Priority:  normal     |   Milestone:  4.11
Component:  cpukit     |     Version:  4.10
 Severity:  minor      |  Resolution:  fixed
 Keywords:             |
-----------------------+----------------------------
Changes (by joel.sherrill):

 * status:  new => closed
 * resolution:   => fixed


Old description:

> Our partners found precision lost in _Objects_Initialize_information
> function.
>
> It is declared as (objectinitializeinformation.c):
>
> void _Objects_Initialize_information(
>   Objects_Information *information,
>   Objects_APIs         the_api,
>   uint32_t             the_class,
>   uint32_t             maximum,
>   uint16_t             size,
>   bool                 is_string,
>   uint32_t             maximum_name_length
> #if defined(RTEMS_MULTIPROCESSING)
>   ,
>   bool                 supports_global,
>   Objects_Thread_queue_Extract_callout extract
> #endif
> )
>
> And later in code:
>
>   information->the_class          = the_class;
>
> But information->the_class have type uint16_t.
>
> From object.h:
>
>   /** This is the class of this object set. */
>   uint16_t          the_class;
>
> Proposed solution: the_class should have same type everywhere.

New description:

 Our partners found precision lost in _Objects_Initialize_information
 function.

 It is declared as (objectinitializeinformation.c):

 void _Objects_Initialize_information(
   Objects_Information *information,
   Objects_APIs         the_api,
   uint32_t             the_class,
   uint32_t             maximum,
   uint16_t             size,
   bool                 is_string,
   uint32_t             maximum_name_length
 #if defined(RTEMS_MULTIPROCESSING)
   ,
   bool                 supports_global,
   Objects_Thread_queue_Extract_callout extract
 #endif
 )

 And later in code:

   information->the_class          = the_class;

 But information->the_class have type uint16_t.

 From object.h:

   /** This is the class of this object set. */
   uint16_t          the_class;

 Proposed solution: the_class should have same type everywhere.

--

--
Ticket URL: <http://devel.rtems.org/ticket/1423#comment:5>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list