cvs: php-src(PHP_5_3) /ext/mbstring/libmbfl/filters mbfilter_cp1254.c unicode_table_cp1254.h
| From: | Rui Hirokawa | Date: | Sat, 05 Jul 2008 07:30:01 +0000 |
| Subject: | cvs: php-src(PHP_5_3) /ext/mbstring/libmbfl/filters mbfilter_cp1254.c unicode_table_cp1254.h | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-50800@lists.php.net to get a copy of this message | ||
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 <halukakin@gmail.com>
+ * The author of this part: aluk AKIN <halukakin@gmail.com>
*
*/
/*
- * 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 <moriyoshi@php.net> 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