Michael McConville wrote:
> Theo de Raadt wrote:
> > > When scanning for is*() function uses with signed chars, I found that
> > > lex(1) uses an unecessary #define for unsigned char. The below diff
> > > removes it and fixes an undefined is*() usage or two as well.
> > 
> > Our tree uses lex pretty much as-is from upstream, so this refactoring
> > isn't the way to go.
> > 
> > If you find an actual bug however.. fix them, using the established
> > practice.
> 
> Here are just the bug fixes:

Forgot to use Char. New diff:


Index: misc.c
===================================================================
RCS file: /cvs/src/usr.bin/lex/misc.c,v
retrieving revision 1.13
diff -u -p -r1.13 misc.c
--- misc.c      27 Oct 2013 18:31:24 -0000      1.13
+++ misc.c      13 Oct 2015 14:58:40 -0000
@@ -109,7 +109,7 @@ char *str;
        {
        while ( *str )
                {
-               if ( ! isascii( (Char) *str ) || ! islower( *str ) )
+               if ( ! isascii( (Char) *str ) || ! islower( (Char) *str ) )
                        return 0;
                ++str;
                }
@@ -125,7 +125,7 @@ char *str;
        {
        while ( *str )
                {
-               if ( ! isascii( (Char) *str ) || ! isupper( *str ) )
+               if ( ! isascii( (Char) *str ) || ! isupper( (Char) *str ) )
                        return 0;
                ++str;
                }
@@ -590,7 +590,7 @@ Char array[];
                        int sptr = 2;
 
                        while ( isascii( array[sptr] ) &&
-                               isxdigit( (char) array[sptr] ) )
+                               isxdigit( array[sptr] ) )
                                /* Don't increment inside loop control
                                 * because if isdigit() is a macro it might
                                 * expand into multiple increments ...

Reply via email to