aboutsummaryrefslogtreecommitdiff
path: root/iconvdata/cp1255.c
diff options
context:
space:
mode:
Diffstat (limited to 'iconvdata/cp1255.c')
-rw-r--r--iconvdata/cp1255.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/iconvdata/cp1255.c b/iconvdata/cp1255.c
index 19edb27..6cccf52 100644
--- a/iconvdata/cp1255.c
+++ b/iconvdata/cp1255.c
@@ -321,6 +321,15 @@ static const struct { unsigned int idx; unsigned int len; } comp_table[8] = {
}
#define LOOP_NEED_FLAGS
#define EXTRA_LOOP_DECLS , int *statep
+#define ONEBYTE_BODY \
+ { \
+ if (c < 0x80) \
+ return c; \
+ uint32_t ch = to_ucs4[c - 0x80]; \
+ if (ch == L'\0' || (ch >= 0x05d0 && ch <= 0x05f2)) \
+ return WEOF; \
+ return ch; \
+ }
#include <iconv/loop.c>