summary refs log tree commit diff
path: root/iconvdata/iso646.c
diff options
context:
space:
mode:
Diffstat (limited to 'iconvdata/iso646.c')
-rw-r--r--iconvdata/iso646.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/iconvdata/iso646.c b/iconvdata/iso646.c
index 99dc0251b0..d26ed5e3e4 100644
--- a/iconvdata/iso646.c
+++ b/iconvdata/iso646.c
@@ -434,11 +434,11 @@ gconv_end (struct __gconv_step *data)
 #define LOOPFCT			TO_LOOP
 #define BODY \
   {									      \
-    unsigned char ch;							      \
+    unsigned int ch;							      \
     int failure = __GCONV_OK;						      \
 									      \
     ch = get32 (inptr);							      \
-    switch (*((uint32_t *) inptr))					      \
+    switch (ch)								      \
       {									      \
       case 0x23:							      \
 	if (var == GB || var == ES || var == IT || var == FR || var == FR1    \
@@ -878,7 +878,7 @@ gconv_end (struct __gconv_step *data)
 	ch = 0x5d;							      \
 	break;								      \
       default:								      \
-	if (*((uint32_t *) inptr) > 0x7f)				      \
+	if (__builtin_expect (ch, 0) > 0x7f)				      \
 	  failure = __GCONV_ILLEGAL_INPUT;				      \
 	break;								      \
       }									      \