diff options
Diffstat (limited to 'iconvdata/ibm943.c')
-rw-r--r-- | iconvdata/ibm943.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/iconvdata/ibm943.c b/iconvdata/ibm943.c index 119bb1f..daeac1d 100644 --- a/iconvdata/ibm943.c +++ b/iconvdata/ibm943.c @@ -95,10 +95,16 @@ } \ else \ { \ - if (res == 0xa5) \ + if (res == 0x1c) \ + res = 0x1a; \ + else if (res == 0x7f) \ + res = 0x1c; \ + else if (res == 0xa5) \ res = 0x5c; \ else if (res == 0x203e) \ res = 0x7e; \ + else if (res == 0x1a) \ + res = 0x7f; \ put32 (outptr, res); \ outptr += 4; \ inptr++; \ @@ -112,10 +118,16 @@ uint32_t res = __ibm943sb_to_ucs4[c]; \ if (res == 0 && c != 0) \ return WEOF; \ - if (res == 0xa5) \ + if (res == 0x1c) \ + res = 0x1a; \ + else if (res == 0x7f) \ + res = 0x1c; \ + else if (res == 0xa5) \ res = 0x5c; \ else if (res == 0x203e) \ res = 0x7e; \ + else if (res == 0x1a) \ + res = 0x7f; \ return res; \ } #include <iconv/loop.c> |