summaryrefslogtreecommitdiff
path: root/iconvdata/ibm932.c
diff options
context:
space:
mode:
Diffstat (limited to 'iconvdata/ibm932.c')
-rw-r--r--iconvdata/ibm932.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/iconvdata/ibm932.c b/iconvdata/ibm932.c
index 4fb1582e79..8f05581c13 100644
--- a/iconvdata/ibm932.c
+++ b/iconvdata/ibm932.c
@@ -94,10 +94,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++; \
@@ -111,10 +117,16 @@
uint32_t res = __ibm932sb_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>