Hi DavidB,
I'm trying to do a fresh build under Cygwin (to test out the changes I've
made to HDS), but have come up against a serious problem with AST that has
the whole project currently stopped. It's our old friend newlib sscanf
bugs.
When AST sees the units string "N m" sscanf mistakenly reports that it has
a floating point value of zero consisting of one character, that is:
sscanf( "N m", "%lf%n", &num, &len );
returns with num=0 and len=1. When this happens AST clearly tries 0 as the
units multiplier and throws a:
!! AST: Error at line 76 in file ast_test.c.
! Illegal zero constant encountered.
In fact this problem with sscanf is seen for the strings "n" and "na" too,
so I think it's an abortive attempt to parse "NaN". I've made a report to
the Cygwin mailing list, but clearly any fix might take a while, so do you
think it would be possible to work-around this problem in a safe way?
Cheers,
Peter.
|