mirror of
https://github.com/php/php-src.git
synced 2026-04-26 17:38:14 +02:00
Remove dead code from mbfilter_koi8u.c (and do general code cleanup)
This commit is contained in:
@@ -69,62 +69,31 @@ const struct mbfl_convert_vtbl vtbl_koi8u_wchar = {
|
||||
|
||||
#define CK(statement) do { if ((statement) < 0) return (-1); } while (0)
|
||||
|
||||
/*
|
||||
* koi8u => wchar
|
||||
*/
|
||||
int
|
||||
mbfl_filt_conv_koi8u_wchar(int c, mbfl_convert_filter *filter)
|
||||
int mbfl_filt_conv_koi8u_wchar(int c, mbfl_convert_filter *filter)
|
||||
{
|
||||
int s;
|
||||
|
||||
if (c >= 0 && c < koi8u_ucs_table_min) {
|
||||
if (c < koi8u_ucs_table_min) {
|
||||
s = c;
|
||||
} else if (c >= koi8u_ucs_table_min && c < 0x100) {
|
||||
s = koi8u_ucs_table[c - koi8u_ucs_table_min];
|
||||
if (s <= 0) {
|
||||
s = c;
|
||||
s &= MBFL_WCSPLANE_MASK;
|
||||
s |= MBFL_WCSPLANE_KOI8U;
|
||||
}
|
||||
} else {
|
||||
s = c;
|
||||
s &= MBFL_WCSGROUP_MASK;
|
||||
s |= MBFL_WCSGROUP_THROUGH;
|
||||
s = koi8u_ucs_table[c - koi8u_ucs_table_min];
|
||||
}
|
||||
|
||||
CK((*filter->output_function)(s, filter->data));
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
/*
|
||||
* wchar => koi8u
|
||||
*/
|
||||
int
|
||||
mbfl_filt_conv_wchar_koi8u(int c, mbfl_convert_filter *filter)
|
||||
int mbfl_filt_conv_wchar_koi8u(int c, mbfl_convert_filter *filter)
|
||||
{
|
||||
int s, n;
|
||||
|
||||
if (c < 0x80) {
|
||||
s = c;
|
||||
CK((*filter->output_function)(c, filter->data));
|
||||
} else {
|
||||
s = -1;
|
||||
n = koi8u_ucs_table_len-1;
|
||||
while (n >= 0) {
|
||||
for (int n = 0; n < koi8u_ucs_table_len; n++) {
|
||||
if (c == koi8u_ucs_table[n]) {
|
||||
s = koi8u_ucs_table_min + n;
|
||||
break;
|
||||
CK((*filter->output_function)(koi8u_ucs_table_min + n, filter->data));
|
||||
return c;
|
||||
}
|
||||
n--;
|
||||
}
|
||||
if (s <= 0 && (c & ~MBFL_WCSPLANE_MASK) == MBFL_WCSPLANE_KOI8U) {
|
||||
s = c & MBFL_WCSPLANE_MASK;
|
||||
}
|
||||
}
|
||||
|
||||
if (s >= 0) {
|
||||
CK((*filter->output_function)(s, filter->data));
|
||||
} else {
|
||||
CK(mbfl_filt_conv_illegal_output(c, filter));
|
||||
}
|
||||
|
||||
|
||||
@@ -62,7 +62,6 @@
|
||||
#define MBFL_WCSPLANE_CNS11643 0x70f50000 /* 2121h - 9898h */
|
||||
#define MBFL_WCSPLANE_UHC 0x70f60000 /* 8141h - fefeh */
|
||||
#define MBFL_WCSPLANE_ARMSCII8 0x70fb0000
|
||||
#define MBFL_WCSPLANE_KOI8U 0x70fc0000
|
||||
#define MBFL_WCSPLANE_GB18030 0x70ff0000 /* a1a1h-e3329a35h */
|
||||
#define MBFL_WCSGROUP_MASK 0xffffff
|
||||
#define MBFL_WCSGROUP_UCS4MAX 0x70000000
|
||||
|
||||
Reference in New Issue
Block a user