This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Change time_t to 64-bit by default


----- Freddie Chopin <freddie_chopin@op.pl> schrieb:
> On Thu, 2017-09-07 at 15:00 +0200, Sebastian Huber wrote:
> > The casts in Newlib gmtime_r() look pretty useless. I will send a
> > patch 
> > with:
> > 
> > diff --git a/newlib/libc/time/gmtime_r.c
> > b/newlib/libc/time/gmtime_r.c
> > index 81c7c94b1..6475df3ba 100644
> > --- a/newlib/libc/time/gmtime_r.c
> > +++ b/newlib/libc/time/gmtime_r.c
> > @@ -56,8 +56,8 @@ _DEFUN (gmtime_r, (tim_p, res),
> >     unsigned erayear, yearday, month, day;
> >     unsigned long eraday;
> > 
> > -  days = ((long)lcltime) / SECSPERDAY + EPOCH_ADJUSTMENT_DAYS;
> > -  rem = ((long)lcltime) % SECSPERDAY;
> > +  days = lcltime / SECSPERDAY + EPOCH_ADJUSTMENT_DAYS;
> > +  rem = lcltime % SECSPERDAY;
> >     if (rem < 0)
> >       {
> >         rem += SECSPERDAY;
> 
> You should also replace "long days, rem;" with "time_t days, rem;".

2147483647 days are roughly 5879489 years. This should be enough for most applications.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine gesch&auml;ftliche Mitteilung im Sinne des EHUG.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]