]> granicus.if.org Git - php/commitdiff
removed wrong bytes.
authorRui Hirokawa <hirokawa@php.net>
Sat, 5 Jul 2008 07:30:01 +0000 (07:30 +0000)
committerRui Hirokawa <hirokawa@php.net>
Sat, 5 Jul 2008 07:30:01 +0000 (07:30 +0000)
ext/mbstring/libmbfl/filters/mbfilter_cp1254.c
ext/mbstring/libmbfl/filters/unicode_table_cp1254.h

index ced70a1933e7eed357e3f556345c36f057cef19f..708c4339b15c9f53e34a8f52d393046a68a6e347 100644 (file)
  * 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 @@ const struct mbfl_identify_vtbl vtbl_identify_cp1254 = {
        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 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp1254 = {
 /*
  * 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 @@ int mbfl_filt_conv_wchar_cp1254(int c, mbfl_convert_filter *filter)
                        }
                        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 @@ int mbfl_filt_conv_wchar_cp1254(int c, mbfl_convert_filter *filter)
                        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 @@ int mbfl_filt_conv_cp1254_wchar(int c, mbfl_convert_filter *filter)
        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)
index 62f50d2dadb6a554784662a7aa7f6856bff8666e..644053cf7ac968de1f35aace1a91efdebf4ccc78 100644 (file)
Binary files a/ext/mbstring/libmbfl/filters/unicode_table_cp1254.h and b/ext/mbstring/libmbfl/filters/unicode_table_cp1254.h differ