summaryrefslogtreecommitdiff
path: root/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c')
-rw-r--r--ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c64
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;
-}