[PATCH] rtems: Justify integer conversions

Chris Johns chrisj at rtems.org
Wed Sep 29 20:20:09 UTC 2021


OK

On 29/9/21 11:24 pm, Sebastian Huber wrote:
> Close #2548.
> ---
>  cpukit/rtems/src/clockgettod.c | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/cpukit/rtems/src/clockgettod.c b/cpukit/rtems/src/clockgettod.c
> index 5058b42375..01daa3dc15 100644
> --- a/cpukit/rtems/src/clockgettod.c
> +++ b/cpukit/rtems/src/clockgettod.c
> @@ -100,9 +100,14 @@ rtems_status_code rtems_clock_get_tod(
>    /* Obtain the current time */
>    _TOD_Get_timeval( &now );
>  
> -  /* How many days and how many seconds in the day ? */
> -  days = now.tv_sec / RTEMS_SECS_PER_DAY;
> -  day_secs = now.tv_sec % RTEMS_SECS_PER_DAY;
> +  /*
> +   * How many days and how many seconds in the day?
> +   *
> +   * A 32-bit integer can represent enough days for several 1000 years.  When
> +   * the current time is valid, the integer conversions below are well defined.
> +   */
> +  days = (uint32_t) ( now.tv_sec / RTEMS_SECS_PER_DAY );
> +  day_secs = (uint32_t) ( now.tv_sec % RTEMS_SECS_PER_DAY );
>  
>    /* How many non-leap year years ? */
>    year = ( days / RTEMS_DAYS_PER_YEAR ) + RTEMS_YEAR_BASE;
> 


More information about the devel mailing list