bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AC_HEADER_STDC


From: Bruno Haible
Subject: Re: AC_HEADER_STDC
Date: Thu, 6 Jul 2006 14:38:36 +0200
User-agent: KMail/1.9.1

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]