This is the mail archive of the cygwin mailing list for the Cygwin 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] patch -Z not working if timestamp contains seconds >=59.5


On Apr 25 16:17, Christian Franke wrote:
> Corinna Vinschen wrote:
> > Can you tell me exactly where the problem
> > happens which leads to this patch, please?
> 
> partime.c:
> ...
> parse_pattern_letter (s, c, t)
> ...
> case 's': /* second [00-60 followed by optional fraction] */
>   {
>     int frac;
>     s = parse_decimal (s, 2, 0, 60, 1, &t->tm.tm_sec, &frac);
>     t->tm.tm_sec += frac;
>   }
> 
> parse_decimal("59.50001", ...) returns tm_sec = 59 and frac=1 which
> results in tm_sec=60, but maketime({...; tm.tm_sec=60;...}, .) returns
> -1 always.

Yeah, these are exactly the lines which you patch.  When I asked for
where exactly the problem happens, I was asking where maketime makes the
mistake of not taking denormalized timestamps into account, where the
condition is which let it return -1.

Don't get me wrong, I appreciate the patch, but since you provided a
patch, I assumed you already debugged this problem, so you can point to
the place where it happens.  Yes, I'm a lazy chicken and I'm just trying
to avoid double work ;-)


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


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