Mail Archives: cygwin/2005/04/05/14:47:51
Patch checked in. Thanks.
-- Jeff J.
Dave Korn wrote:
> ----Original Message----
>
>>From: Dave Korn
>>Sent: 04 April 2005 19:07
>
>
>>----Original Message----
>>
>>>From: Dave Korn
>>>Sent: 04 April 2005 18:51
>>
>>>----Original Message----
>>>
>>>>From: Michael Hines
>>>>Sent: 04 April 2005 19:43
>>>
>>>>The following program prints
>>>>i=1 x=0
>>>>instead of
>>>>i=0 x=10
>>>>when using the latest version of cygwin1.dll.
>
>
>> No, hang on, on checking the newlib-l archive that seems to have been
>>something to do with a zero exponent. This is a separate bug: it accepts
>>the first one or two characters of 'nan' and says "ok, everything's still
>>good", and then because it's reached the end of the string it treats that
>>as a successful parse; it forgets to verify that it doesn't have an
>>outstanding half-formed NaN. I'll post a (provisional) patch shortly.
>
>
> Ok, this is only provisional, because as I point out I'm not quite sure
> about the corner case where we've refilled the buffer. It also has minor
> formatting issues (slightly long lines in the comment, IMO). However, it
> fixes the testcase, and I've got to go home for the evening, so here's my
> work-in-progress; comments welcomed.
>
> ---------------------------<snip!>---------------------------
> dk AT mace /test/sscanf> cat ss.c
>
> #include <stdio.h>
> int main() {
> int i;
> double x;
> x = 10;
> i = sscanf("n", "%lf", &x);
> printf("i=%d x=%g\n", i, x);
> i = sscanf("nan", "%lf", &x);
> printf("i=%d x=%g\n", i, x);
> return 0;
> }
>
>
>
> dk AT mace /test/sscanf> gcc -O0 -g ss.c -o ss.exe
> dk AT mace /test/sscanf> ./ss.exe
> i=0 x=10
> i=1 x=NaN
> dk AT mace /test/sscanf>
> ---------------------------<snip!>---------------------------
>
>
>
>
>
> cheers,
> DaveK
--
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/
- Raw text -