diff --git a/newlib/ChangeLog b/newlib/ChangeLog index f0cb51be2..8be491571 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,7 @@ +2009-11-06 Jon Turney + + * libc/include/ctype.h (__ctype_lookup): Fix precedence. + 2009-10-30 Corinna Vinschen * libc/stdio/fflush.c (_fflush_r): Store old errno to check for diff --git a/newlib/libc/include/ctype.h b/newlib/libc/include/ctype.h index 75e1c48b3..56ad5abb6 100644 --- a/newlib/libc/include/ctype.h +++ b/newlib/libc/include/ctype.h @@ -54,7 +54,7 @@ extern __IMPORT char *__ctype_ptr__; Meanwhile, the real index to __ctype_ptr__+1 must be cast to int, since isalpha(0x100000001LL) must equal isalpha(1), rather than being an out-of-bounds reference on a 64-bit machine. */ -#define __ctype_lookup(__c) ((__ctype_ptr__+sizeof(""[__c]))[(int)__c]) +#define __ctype_lookup(__c) ((__ctype_ptr__+sizeof(""[__c]))[(int)(__c)]) #define isalpha(__c) (__ctype_lookup(__c)&(_U|_L)) #define isupper(__c) ((__ctype_lookup(__c)&(_U|_L))==_U)