This is the mail archive of the
cygwin
mailing list for the Cygwin project.
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/