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; > _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel