diff options
Diffstat (limited to 'iconvdata/big5.c')
-rw-r--r-- | iconvdata/big5.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/iconvdata/big5.c b/iconvdata/big5.c index 9cf5a5f6f4..8748036724 100644 --- a/iconvdata/big5.c +++ b/iconvdata/big5.c @@ -8644,8 +8644,21 @@ static const char from_ucs4_tab15[][2] = \ inptr += 2; \ } \ - else \ + else if (ch <= 0x80) \ ++inptr; \ + else \ + { \ + /* This is illegal. */ \ + if (! ignore_errors_p ()) \ + { \ + result = __GCONV_ILLEGAL_INPUT; \ + break; \ + } \ + \ + ++inptr; \ + ++*irreversible; \ + continue; \ + } \ \ put32 (outptr, ch); \ outptr += 4; \ |