diff options
Diffstat (limited to 'iconvdata/shift_jisx0213.c')
-rw-r--r-- | iconvdata/shift_jisx0213.c | 14 |
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> |