Ralf Wildenhues wrote: > > - while ((c = getc (stream)) != EOF && ISSPACE (c)) > > + while ((c = getc (stream)) != EOF && isspace (c)) > > missing cast to unsigned char (c is int).
getc returns either EOF or a value in the range 0..UCHAR_MAX. The assignment to 'int c' doesn't change this value. Therefore I don't think there is a problem here. > > Index: lib/strtod.c > > =================================================================== > > RCS file: /cvsroot/gnulib/gnulib/lib/strtod.c,v > > retrieving revision 1.19 > > diff -p -u -r1.19 strtod.c > > --- lib/strtod.c 17 Jun 2006 19:29:36 -0000 1.19 > > +++ lib/strtod.c 5 Jul 2006 23:33:38 -0000 > > > @@ -111,7 +101,7 @@ strtod (const char *nptr, char **endptr) > > if (!got_digit) > > goto noconv; > > > > - if (TOLOWER (*s) == 'e') > > + if (tolower (*s) == 'e') > > s is of type 'const char *'. So this needs a cast to unsigned char as > well, IIRC. Yup, here a cast is missing. (glibc doesn't need it because its is* and to* functions work also on values -128..-1. But gnulib needs it.) Bruno