summary refs log tree commit diff
path: root/iconvdata/shift_jisx0213.c
diff options
context:
space:
mode:
Diffstat (limited to 'iconvdata/shift_jisx0213.c')
-rw-r--r--iconvdata/shift_jisx0213.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/iconvdata/shift_jisx0213.c b/iconvdata/shift_jisx0213.c
index 119e0017b9..82592ad5dc 100644
--- a/iconvdata/shift_jisx0213.c
+++ b/iconvdata/shift_jisx0213.c
@@ -232,6 +232,20 @@
   }
 #define LOOP_NEED_FLAGS
 #define EXTRA_LOOP_DECLS	, int *statep
+#define ONEBYTE_BODY \
+  {									      \
+    if (c < 0x80)							      \
+      {									      \
+	if (c == 0x5c)							      \
+	  return 0xa5;							      \
+	if (c == 0x7e)							      \
+	  return 0x203e;						      \
+	return c;							      \
+      }									      \
+    if (c >= 0xa1 && c <= 0xdf)						      \
+      return 0xfec0 + c;						      \
+    return WEOF;							      \
+  }
 #include <iconv/loop.c>