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: CYGWIN 2.3.0 [32/64]: strtold() seems to be broken


Hi Tino,

On Nov 13 12:58, Tino Lange wrote:
> Hi Cygwin Developers,
> 
> strtold() seems to be broken, at least when there is additional
> non-numeric data after the initial numeric part.
> 
> Code:
> 
> > #include <iostream>
> > #include <stdlib.h>
> > 
> > int main()
> > {
> >   char* endptr;
> >   const char * v = "1234abc";
> >   const long double value = strtold(v, &endptr);
> >   std::cout << v << " -> " << value << "\n";
> > }
> 
> Linux (expected result):
> > 1234abc -> 1234
> 
> CYGWIN (unexpected/wrong result):
> > 1234abc -> -e+999
> 
> Note that using strtod() instead of strtold() on CYGWIN gives the
> expected result. strtod() and strtold() implementations seem to differ
> here.
> 
> BTW: There seem to be more strange things going on with strtold() on
> CYGWIN32/64, see also:
> https://stackoverflow.com/questions/29040427/unexpected-endptr-with-strtod-strtold
> (tested today with recent CYGWIN, the reported inconsistency can still
> be reproduced).
> 
> "cygcheck.out" attached (from a CYGWIN64 box, but this can also be
> reproduced on a CYGWIN32 box).

Strtold is implemented in newlib, our underlying libc, so this doesn't
only affect Cygwin but all newlib targets.  Would you mind to report
this to the newlib AT sourceware DOT org mailing list so we can discuss
this there?


Thanks,
Corinna

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

Attachment: pgpYrLz_3fgF2.pgp
Description: PGP signature


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