hirokawa Sat Jul 5 07:30:01 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/mbstring/libmbfl/filters mbfilter_cp1254.c unicode_table_cp1254.h Log: removed wrong bytes. http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/libmbfl/filters/mbfilter_cp1254.c?r1=1.1.2.1&r2=1.1.2.2&diff_format=u Index: php-src/ext/mbstring/libmbfl/filters/mbfilter_cp1254.c diff -u php-src/ext/mbstring/libmbfl/filters/mbfilter_cp1254.c:1.1.2.1 php-src/ext/mbstring/libmbfl/filters/mbfilter_cp1254.c:1.1.2.2 --- php-src/ext/mbstring/libmbfl/filters/mbfilter_cp1254.c:1.1.2.1 Sat Jul 5 06:52:04 2008 +++ php-src/ext/mbstring/libmbfl/filters/mbfilter_cp1254.c Sat Jul 5 07:30:01 2008 @@ -18,13 +18,13 @@ * if not, write to the Free Software Foundation, Inc., 59 Temple Place, * Suite 330, Boston, MA 02111-1307 USA * - * The author of this part: Haluk AKIN <[EMAIL PROTECTED]> + * The author of this part: aluk AKIN <[EMAIL PROTECTED]> * */ /* - * the source code included in this files was separated from mbfilter.c + * The source code included in this files was separated from mbfilter_ru.c * by moriyoshi koizumi <[EMAIL PROTECTED]> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H @@ -55,21 +55,21 @@ mbfl_filt_ident_cp1254 }; -const struct mbfl_convert_vtbl vtbl_cp1254_wchar = { - mbfl_no_encoding_cp1254, +const struct mbfl_convert_vtbl vtbl_wchar_cp1254 = { mbfl_no_encoding_wchar, + mbfl_no_encoding_cp1254, mbfl_filt_conv_common_ctor, mbfl_filt_conv_common_dtor, - mbfl_filt_conv_cp1254_wchar, + mbfl_filt_conv_wchar_cp1254, mbfl_filt_conv_common_flush }; -const struct mbfl_convert_vtbl vtbl_wchar_cp1254 = { - mbfl_no_encoding_wchar, +const struct mbfl_convert_vtbl vtbl_cp1254_wchar = { mbfl_no_encoding_cp1254, + mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, mbfl_filt_conv_common_dtor, - mbfl_filt_conv_wchar_cp1254, + mbfl_filt_conv_cp1254_wchar, mbfl_filt_conv_common_flush }; @@ -78,14 +78,14 @@ /* * wchar => cp1254 */ -int mbfl_filt_conv_wchar_cp1254(int c, mbfl_convert_filter *filter) +int +mbfl_filt_conv_wchar_cp1254(int c, mbfl_convert_filter *filter) { - int s=-1, n; + int s, n; if (c < 0x80) { - s = c; - } else { - /* look it up from the cp1254 table */ + s = c; + } else { s = -1; n = cp1254_ucs_table_len-1; while (n >= 0) { @@ -95,8 +95,7 @@ } n--; } - if (s <= 0 && (c & ~MBFL_WCSPLANE_MASK) == MBFL_WCSPLANE_CP1254) - { + if (s <= 0 && (c & ~MBFL_WCSPLANE_MASK) == MBFL_WCSPLANE_CP1254) { s = c & MBFL_WCSPLANE_MASK; } } @@ -108,29 +107,31 @@ CK(mbfl_filt_conv_illegal_output(c, filter)); } } + return c; } /* * cp1254 => wchar */ -int mbfl_filt_conv_cp1254_wchar(int c, mbfl_convert_filter *filter) +int +mbfl_filt_conv_cp1254_wchar(int c, mbfl_convert_filter *filter) { int s; - if ( c >= 0 && c < cp1254_ucs_table_min) { - s = c; + if (c >= 0 && c < cp1254_ucs_table_min) { + s = c; } else if (c >= cp1254_ucs_table_min && c < 0x100) { - s = cp1254_ucs_table[c - cp1254_ucs_table_min]; - if (s <= 0) { - s = c; - s &= MBFL_WCSPLANE_MASK; - s |= MBFL_WCSPLANE_CP1254; - } + s = cp1254_ucs_table[c - cp1254_ucs_table_min]; + if (s <= 0) { + s = c; + s &= MBFL_WCSPLANE_MASK; + s |= MBFL_WCSPLANE_CP1254; + } } else { s = c; s &= MBFL_WCSGROUP_MASK; - s |= MBFL_WCSGROUP_THROUGH; + s |= MBFL_WCSGROUP_THROUGH; } CK((*filter->output_function)(s, filter->data)); @@ -138,12 +139,6 @@ return c; } -/* We only distinguish the MS extensions to ISO-8859-1. - * Actually, this is pretty much a NO-OP, since the identification - * system doesn't allow us to discriminate between a positive match, - * a possible match and a definite non-match. - * The problem here is that cp1254 looks like SJIS for certain chars. - * */ static int mbfl_filt_ident_cp1254(int c, mbfl_identify_filter *filter) { if (c >= 0x80 && c < 0xff) http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/libmbfl/filters/unicode_table_cp1254.h?r1=1.1.2.1&r2=1.1.2.2&diff_format=u Index: php-src/ext/mbstring/libmbfl/filters/unicode_table_cp1254.h
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php