diff options
Diffstat (limited to 'ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c')
-rw-r--r-- | ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c | 64 |
1 files changed, 2 insertions, 62 deletions
diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c index c76eeb36bf..3803e2524a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c @@ -32,8 +32,6 @@ #include "unicode_table_cns11643.h" -static int mbfl_filt_ident_euctw(int c, mbfl_identify_filter *filter); - static const unsigned char mblen_table_euctw[] = { /* 0xA1-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -60,19 +58,13 @@ const mbfl_encoding mbfl_encoding_euc_tw = { mbfl_no_encoding_euc_tw, "EUC-TW", "EUC-TW", - (const char *(*)[])&mbfl_encoding_euc_tw_aliases, + mbfl_encoding_euc_tw_aliases, mblen_table_euctw, - MBFL_ENCTYPE_MBCS, + 0, &vtbl_euctw_wchar, &vtbl_wchar_euctw }; -const struct mbfl_identify_vtbl vtbl_identify_euctw = { - mbfl_no_encoding_euc_tw, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_euctw -}; - const struct mbfl_convert_vtbl vtbl_euctw_wchar = { mbfl_no_encoding_euc_tw, mbfl_no_encoding_wchar, @@ -271,55 +263,3 @@ mbfl_filt_conv_wchar_euctw(int c, mbfl_convert_filter *filter) } return c; } - -static int mbfl_filt_ident_euctw(int c, mbfl_identify_filter *filter) -{ - switch (filter->status) { - case 0: /* latin */ - if (c >= 0 && c < 0x80) { /* ok */ - ; - } else if (c > 0xa0 && c < 0xff) { /* DBCS lead byte */ - filter->status = 1; - } else if (c == 0x8e) { /* DBCS lead byte */ - filter->status = 2; - } else { /* bad */ - filter->flag = 1; - } - break; - - case 1: /* got lead byte */ - if (c < 0xa1 || c > 0xfe) { /* bad */ - filter->flag = 1; - } - filter->status = 0; - break; - - case 2: /* got lead byte */ - if (c >= 0xa1 && c < 0xaf) { /* ok */ - filter->status = 3; - } else { - filter->flag = 1; /* bad */ - } - break; - - case 3: /* got lead byte */ - if (c < 0xa1 || c > 0xfe) { /* bad */ - filter->flag = 1; - } - filter->status = 4; - break; - - case 4: /* got lead byte */ - if (c < 0xa1 || c > 0xfe) { /* bad */ - filter->flag = 1; - } - filter->status = 0; - break; - - default: - filter->status = 0; - break; - } - - return c; -} |