summary refs log tree commit diff
path: root/iconvdata/tcvn5712-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'iconvdata/tcvn5712-1.c')
-rw-r--r--iconvdata/tcvn5712-1.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/iconvdata/tcvn5712-1.c b/iconvdata/tcvn5712-1.c
index 7cd6f0161e..8194ef030d 100644
--- a/iconvdata/tcvn5712-1.c
+++ b/iconvdata/tcvn5712-1.c
@@ -474,6 +474,20 @@ static const struct
     ++inptr;								      \
   }
 #define EXTRA_LOOP_DECLS	, int *statep
+#define ONEBYTE_BODY \
+  {									      \
+    uint32_t ch;							      \
+									      \
+    if (c < 0x18)							      \
+      ch = map_from_tcvn_low[c];					      \
+    else if (c >= 0x80)							      \
+      ch = map_from_tcvn_high[c - 0x80];				      \
+    else								      \
+      ch = c;								      \
+    if (ch >= 0x0041 && ch <= 0x01b0)					      \
+      return WEOF;							      \
+    return ch;								      \
+  }
 #include <iconv/loop.c>