diff options
Diffstat (limited to 'iconvdata/iso646.c')
-rw-r--r-- | iconvdata/iso646.c | 6 |
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; \ } \ |