summaryrefslogtreecommitdiff
path: root/iconvdata/ibm943.c
diff options
context:
space:
mode:
Diffstat (limited to 'iconvdata/ibm943.c')
-rw-r--r--iconvdata/ibm943.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/iconvdata/ibm943.c b/iconvdata/ibm943.c
index 119bb1f4b9..daeac1d8b2 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>