summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--newlib/ChangeLog4
-rw-r--r--newlib/libc/include/ctype.h2
2 files changed, 5 insertions, 1 deletions
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 <jon.turney@dronecode.org.uk>
+
+ * libc/include/ctype.h (__ctype_lookup): Fix precedence.
+
2009-10-30 Corinna Vinschen <corinna@vinschen.de>
* 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)