aboutsummaryrefslogtreecommitdiff
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 119e001..82592ad 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>