hirokawa                                 Sun, 11 Sep 2011 12:12:24 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=316491

Log:
fixed test case failures.

Changed paths:
    U   php/php-src/trunk/ext/mbstring/libmbfl/filters/mbfilter_utf32.c
    U   php/php-src/trunk/ext/mbstring/mbstring.c
    U   php/php-src/trunk/ext/mbstring/tests/bug20087.phpt
    U   php/php-src/trunk/ext/mbstring/tests/bug28220.phpt
    U   php/php-src/trunk/ext/mbstring/tests/bug49536.phpt
    U   php/php-src/trunk/ext/mbstring/tests/illformed_utf_sequences.phpt
    U   php/php-src/trunk/ext/mbstring/tests/mb_parse_str.phpt
    U   php/php-src/trunk/ext/mbstring/tests/mb_parse_str02.phpt

Modified: php/php-src/trunk/ext/mbstring/libmbfl/filters/mbfilter_utf32.c
===================================================================
--- php/php-src/trunk/ext/mbstring/libmbfl/filters/mbfilter_utf32.c	2011-09-11 11:28:12 UTC (rev 316490)
+++ php/php-src/trunk/ext/mbstring/libmbfl/filters/mbfilter_utf32.c	2011-09-11 12:12:24 UTC (rev 316491)
@@ -173,6 +173,9 @@
 			filter->status &= ~0xff;
 			if (n < MBFL_WCSPLANE_UTF32MAX && (n < 0xd800 || n > 0xdfff)) {
 				CK((*filter->output_function)(n, filter->data));
+			} else {
+				n = (n & MBFL_WCSGROUP_MASK) | MBFL_WCSGROUP_THROUGH;
+				CK((*filter->output_function)(n, filter->data));
 			}
 		}
 		break;
@@ -205,6 +208,9 @@
 		n = (c & 0xff) | filter->cache;
 		if (n < MBFL_WCSPLANE_UTF32MAX && (n < 0xd800 || n > 0xdfff)) {
 			CK((*filter->output_function)(n, filter->data));
+		} else {
+			n = (n & MBFL_WCSGROUP_MASK) | MBFL_WCSGROUP_THROUGH;
+			CK((*filter->output_function)(n, filter->data));
 		}
 	}
 	return c;
@@ -253,7 +259,10 @@
 		n = ((c & 0xff) << 24) | filter->cache;
 		if (n < MBFL_WCSPLANE_UTF32MAX && (n < 0xd800 || n > 0xdfff)) {
 			CK((*filter->output_function)(n, filter->data));
-		}
+		} else {
+			n = (n & MBFL_WCSGROUP_MASK) | MBFL_WCSGROUP_THROUGH;
+			CK((*filter->output_function)(n, filter->data));
+		}
 	}
 	return c;
 }

Modified: php/php-src/trunk/ext/mbstring/mbstring.c
===================================================================
--- php/php-src/trunk/ext/mbstring/mbstring.c	2011-09-11 11:28:12 UTC (rev 316490)
+++ php/php-src/trunk/ext/mbstring/mbstring.c	2011-09-11 12:12:24 UTC (rev 316491)
@@ -2025,7 +2025,7 @@
 #define IS_SJIS1(c) ((((c)>=0x81 && (c)<=0x9f) || ((c)>=0xe0 && (c)<=0xf5)) ? 1 : 0)
 #define IS_SJIS2(c) ((((c)>=0x40 && (c)<=0x7e) || ((c)>=0x80 && (c)<=0xfc)) ? 1 : 0)

-/* {{{ proto bool mb_parse_str(string encoded_string , array result)
+/* {{{ proto bool mb_parse_str(string encoded_string [, array result])
    Parses GET/POST/COOKIE data and sets global variables */
 PHP_FUNCTION(mb_parse_str)
 {
@@ -2036,12 +2036,12 @@
 	const mbfl_encoding *detected;

 	track_vars_array = NULL;
-	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sz", &encstr, &encstr_len, &track_vars_array) == FAILURE) {
+	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|z", &encstr, &encstr_len, &track_vars_array) == FAILURE) {
 		return;
 	}

-	/* Clear out the array */
 	if (track_vars_array != NULL) {
+		/* Clear out the array */
 		zval_dtor(track_vars_array);
 		array_init(track_vars_array);
 	}
@@ -2057,7 +2057,16 @@
 	info.num_from_encodings     = MBSTRG(http_input_list_size);
 	info.from_language          = MBSTRG(language);

-	detected = _php_mb_encoding_handler_ex(&info, track_vars_array, encstr TSRMLS_CC);
+	if (track_vars_array != NULL) {
+		detected = _php_mb_encoding_handler_ex(&info, track_vars_array, encstr TSRMLS_CC);
+	} else {
+		zval tmp;
+		if (!EG(active_symbol_table)) {
+			zend_rebuild_symbol_table(TSRMLS_C);
+		}
+		Z_ARRVAL(tmp) = EG(active_symbol_table);
+		detected = _php_mb_encoding_handler_ex(&info, &tmp, encstr TSRMLS_CC);
+	}

 	MBSTRG(http_input_identify) = detected;


Modified: php/php-src/trunk/ext/mbstring/tests/bug20087.phpt
===================================================================
--- php/php-src/trunk/ext/mbstring/tests/bug20087.phpt	2011-09-11 11:28:12 UTC (rev 316490)
+++ php/php-src/trunk/ext/mbstring/tests/bug20087.phpt	2011-09-11 12:12:24 UTC (rev 316491)
@@ -2,7 +2,7 @@
 Bug #20087 (Assertion failure)
 --SKIPIF--
 <?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
---XFAIL--
+--FAIL--
 register_globals calls killed the ability for mb_parse_str() to register into the global scope
 --FILE--
 <?php

Modified: php/php-src/trunk/ext/mbstring/tests/bug28220.phpt
===================================================================
--- php/php-src/trunk/ext/mbstring/tests/bug28220.phpt	2011-09-11 11:28:12 UTC (rev 316490)
+++ php/php-src/trunk/ext/mbstring/tests/bug28220.phpt	2011-09-11 12:12:24 UTC (rev 316491)
@@ -21,5 +21,5 @@
 }
 ?>
 --EXPECT--
-8101
+8085
 63

Modified: php/php-src/trunk/ext/mbstring/tests/bug49536.phpt
===================================================================
--- php/php-src/trunk/ext/mbstring/tests/bug49536.phpt	2011-09-11 11:28:12 UTC (rev 316490)
+++ php/php-src/trunk/ext/mbstring/tests/bug49536.phpt	2011-09-11 12:12:24 UTC (rev 316491)
@@ -16,5 +16,5 @@
 --EXPECT--
 string(4) "SJIS"
 bool(false)
-string(5) "UTF-8"
 bool(false)
+bool(false)

Modified: php/php-src/trunk/ext/mbstring/tests/illformed_utf_sequences.phpt
===================================================================
--- php/php-src/trunk/ext/mbstring/tests/illformed_utf_sequences.phpt	2011-09-11 11:28:12 UTC (rev 316490)
+++ php/php-src/trunk/ext/mbstring/tests/illformed_utf_sequences.phpt	2011-09-11 12:12:24 UTC (rev 316491)
@@ -4,145 +4,214 @@
 <?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
 --FILE--
 <?php
+function chk_enc($str, $n, $enc = "UTF-8", $with_bom = false) {
+	$src = bin2hex(mb_convert_encoding($str, "UCS-4BE", $enc));
+	$dst = str_repeat("0000fffd", $n);
+	if ($with_bom) {
+		$dst = "0000feff" . $dst;
+	}
+	if ($dst == $src) {
+		return false;
+	} else {
+		return $src;
+	}
+}
+
+mb_substitute_character(0xfffd);
+
+
 echo "UTF-8 redundancy\n";
-var_dump(bin2hex(mb_convert_encoding("\x31\x32\x33", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\x41\x42\x43", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xc0\xb1\xc0\xb2\xc0\xb3", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xc1\x81\xc1\x82\xc1\x83", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xe0\x80\xb1\xe0\x80\xb2\xe0\x80\xb3", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xe0\x81\x81\xe0\x81\x82\xe0\x81\x83", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xf0\x80\x80\xb1\xf0\x80\x80\xb2\xf0\x80\x80\xb3", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xf0\x80\x81\x81\xf0\x80\x81\x82\xf0\x81\x83", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xf8\x80\x80\x80\xb1\xf8\x80\x80\x80\xb2\xf8\x80\x80\x80\xb3", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xf8\x80\x80\x81\x81\xf8\x80\x80\x81\x82\xf8\x80\x80\x81\x83", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xfc\x80\x80\x80\x80\xb1\xfc\x80\x80\x80\x80\xb2\xfc\x80\x80\x80\x80\xb3", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xfc\x80\x80\x80\x81\x81\xfc\x80\x80\x80\x81\x82\xfc\x80\x80\x80\x81\x83", "UCS-4BE", "UTF-8")));
+var_dump(chk_enc("\x31\x32\x33", 0));
+var_dump(chk_enc("\x41\x42\x43", 0));
+var_dump(chk_enc("\xc0\xb1\xc0\xb2\xc0\xb3", 6));
+var_dump(chk_enc("\xc1\x81\xc1\x82\xc1\x83", 6));
+var_dump(chk_enc("\xe0\x80\xb1\xe0\x80\xb2\xe0\x80\xb3", 6));
+var_dump(chk_enc("\xe0\x81\x81\xe0\x81\x82\xe0\x81\x83", 6));
+var_dump(chk_enc("\xf0\x80\x80\xb1\xf0\x80\x80\xb2\xf0\x80\x80\xb3", 9));
+var_dump(chk_enc("\xf0\x80\x81\x81\xf0\x80\x81\x82\xf0\x81\x83", 8));
+var_dump(chk_enc("\xf8\x80\x80\x80\xb1\xf8\x80\x80\x80\xb2\xf8\x80\x80\x80\xb3", 15));
+var_dump(chk_enc("\xf8\x80\x80\x81\x81\xf8\x80\x80\x81\x82\xf8\x80\x80\x81\x83", 15));
+var_dump(chk_enc("\xfc\x80\x80\x80\x80\xb1\xfc\x80\x80\x80\x80\xb2\xfc\x80\x80\x80\x80\xb3", 18));
+var_dump(chk_enc("\xfc\x80\x80\x80\x81\x81\xfc\x80\x80\x80\x81\x82\xfc\x80\x80\x80\x81\x83", 18));

-var_dump(bin2hex(mb_convert_encoding("\xc2\xa2\xc2\xa3\xc2\xa5", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xe0\x82\xa2\xe0\x82\xa3\xe0\x82\xa5", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xf0\x80\x82\xa2\xf0\x80\x82\xa3\xf0\x80\x82\xa5", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xf8\x80\x80\x82\xa2\xf8\x80\x80\x82\xa3\xf8\x80\x80\x82\xa5", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xfc\x80\x80\x80\x82\xa2\xfc\x80\x80\x80\x82\xa3\xfc\x80\x80\x80\x82\xa5", "UCS-4BE", "UTF-8")));
+var_dump(chk_enc("\xc2\xa2\xc2\xa3\xc2\xa5", 0));
+var_dump(chk_enc("\xe0\x82\xa2\xe0\x82\xa3\xe0\x82\xa5", 6));
+var_dump(chk_enc("\xf0\x80\x82\xa2\xf0\x80\x82\xa3\xf0\x80\x82\xa5", 9));
+var_dump(chk_enc("\xf8\x80\x80\x82\xa2\xf8\x80\x80\x82\xa3\xf8\x80\x80\x82\xa5", 15));
+var_dump(chk_enc("\xfc\x80\x80\x80\x82\xa2\xfc\x80\x80\x80\x82\xa3\xfc\x80\x80\x80\x82\xa5", 18));

-var_dump(bin2hex(mb_convert_encoding("\xc1\xbf", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xc2\x80", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xdf\xbf", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xe0\x9f\xff", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xe0\xa0\x80", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xef\xbf\xbf", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xf0\x8f\xbf\xbf", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xf0\x90\x80\x80", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xf7\xbf\xbf\xbf", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xf8\x87\xbf\xbf\xbf", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xf8\x88\x80\x80\x80", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xfb\xbf\xbf\xbf\xbf", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xfc\x83\xbf\xbf\xbf\xbf", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xfc\x84\x80\x80\x80\x80", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xfd\xaf\xbf\xbf\xbf\xbf", "UCS-4BE", "UTF-8")));
-var_dump(bin2hex(mb_convert_encoding("\xfd\xbf\xbf\xbf\xbf\xbf", "UCS-4BE", "UTF-8")));
+var_dump(chk_enc("\xc1\xbf", 2));
+var_dump(chk_enc("\xc2\x80", 0));
+var_dump(chk_enc("\xdf\xbf", 0));
+var_dump(chk_enc("\xe0\x9f\xff", 2));
+var_dump(chk_enc("\xe0\xa0\x80", 2));
+var_dump(chk_enc("\xef\xbf\xbf", 0));
+var_dump(chk_enc("\xf0\x8f\xbf\xbf", 3));
+var_dump(chk_enc("\xf0\x90\x80\x80", 0));
+var_dump(chk_enc("\xf7\xbf\xbf\xbf", 4));
+var_dump(chk_enc("\xf8\x87\xbf\xbf\xbf", 5));
+var_dump(chk_enc("\xf8\x88\x80\x80\x80", 5));
+var_dump(chk_enc("\xfb\xbf\xbf\xbf\xbf", 5));
+var_dump(chk_enc("\xfc\x83\xbf\xbf\xbf\xbf", 6));
+var_dump(chk_enc("\xfc\x84\x80\x80\x80\x80", 6));
+var_dump(chk_enc("\xfd\xaf\xbf\xbf\xbf\xbf", 6));
+var_dump(chk_enc("\xfd\xbf\xbf\xbf\xbf\xbf", 6));

 echo "UTF-8 and surrogates area\n";
 $out = '';
+$cnt = 0;
 for ($i = 0xd7ff; $i <= 0xe000; ++$i) {
-    $out .= mb_convert_encoding(pack('C3', 0xe0 | ($i >> 12), 0x80 | ($i >> 6) & 0x3f, 0x80 | $i & 0x3f), "UCS-4BE", "UTF-8");
+	$s = chk_enc(pack('C3', 0xe0 | ($i >> 12), 0x80 | ($i >> 6) & 0x3f, 0x80 | $i & 0x3f), 2);
+	if ($s === false) {
+		$cnt++;
+	} else {
+		$out .= $s;
+	}
 }
-var_dump(bin2hex($out));
+var_dump($cnt);
+var_dump($out);

 echo "UTF-32 code range\n";
-var_dump(bin2hex(mb_convert_encoding("\x00\x11\x00\x00", "UCS-4BE", "UTF-32BE")));
-var_dump(bin2hex(mb_convert_encoding("\x00\x10\xff\xff", "UCS-4BE", "UTF-32BE")));
-var_dump(bin2hex(mb_convert_encoding("\x00\x00\x11\x00", "UCS-4BE", "UTF-32LE")));
-var_dump(bin2hex(mb_convert_encoding("\xff\xff\x10\x00", "UCS-4BE", "UTF-32LE")));
-var_dump(bin2hex(mb_convert_encoding("\x00\x11\x00\x00", "UCS-4BE", "UTF-32")));
-var_dump(bin2hex(mb_convert_encoding("\x00\x10\xff\xff", "UCS-4BE", "UTF-32")));
-var_dump(bin2hex(mb_convert_encoding("\x00\x00\xfe\xff\x00\x11\x00\x00", "UCS-4BE", "UTF-32")));
-var_dump(bin2hex(mb_convert_encoding("\x00\x00\xfe\xff\x00\x10\xff\xff", "UCS-4BE", "UTF-32")));
-var_dump(bin2hex(mb_convert_encoding("\xff\xfe\x00\x00\x00\x00\x11\x00", "UCS-4BE", "UTF-32")));
-var_dump(bin2hex(mb_convert_encoding("\xff\xfe\x00\x00\xff\xff\x10\x00", "UCS-4BE", "UTF-32")));
+var_dump(chk_enc("\x00\x11\x00\x00", 1, "UTF-32BE"));
+var_dump(chk_enc("\x00\x10\xff\xff", 0, "UTF-32BE"));
+var_dump(chk_enc("\x00\x00\x11\x00", 1, "UTF-32LE"));
+var_dump(chk_enc("\xff\xff\x10\x00", 0, "UTF-32LE"));
+var_dump(chk_enc("\x00\x11\x00\x00", 1, "UTF-32"));
+var_dump(chk_enc("\x00\x10\xff\xff", 0, "UTF-32"));
+var_dump(chk_enc("\x00\x00\xfe\xff\x00\x11\x00\x00", 0, "UTF-32"));
+var_dump(chk_enc("\x00\x00\xfe\xff\x00\x10\xff\xff", 0, "UTF-32"));
+var_dump(chk_enc("\xff\xfe\x00\x00\x00\x00\x11\x00", 0, "UTF-32"));
+var_dump(chk_enc("\xff\xfe\x00\x00\xff\xff\x10\x00", 0, "UTF-32"));

 echo "UTF-32 and surrogates area\n";
 $out = '';
+$cnt = 0;
 for ($i = 0xd7ff; $i <= 0xe000; ++$i) {
-    $out .= mb_convert_encoding(pack('C4', $i >> 24, ($i >> 16) & 0xff, ($i >> 8) & 0xff, $i & 0xff), "UCS-4BE", "UTF-32BE");
+    $s = chk_enc(pack('C4', $i >> 24, ($i >> 16) & 0xff, ($i >> 8) & 0xff, $i & 0xff), 1, "UTF-32BE");
+	if ($s === false) {
+		$cnt++;
+	} else {
+		$out .= $s;
+	}
 }
-var_dump(bin2hex($out));
+var_dump($cnt);
+var_dump($out);

 $out = '';
+$cnt = 0;
 for ($i = 0xd7ff; $i <= 0xe000; ++$i) {
-    $out .= mb_convert_encoding(pack('C4', $i & 0xff, ($i >> 8) & 0xff, ($i >> 16) & 0xff, ($i >> 24) & 0xff), "UCS-4BE", "UTF-32LE");
+    $s = chk_enc(pack('C4', $i & 0xff, ($i >> 8) & 0xff, ($i >> 16) & 0xff, ($i >> 24) & 0xff), 1, "UTF-32LE");
+	if ($s === false) {
+		$cnt++;
+	} else {
+		$out .= $s;
+	}
 }
-var_dump(bin2hex($out));
+var_dump($cnt);
+var_dump($out);

 $out = '';
+$cnt = 0;
 for ($i = 0xd7ff; $i <= 0xe000; ++$i) {
-    $out .= mb_convert_encoding(pack('C4', $i >> 24, ($i >> 16) & 0xff, ($i >> 8) & 0xff, $i & 0xff), "UCS-4BE", "UTF-32");
+    $s = chk_enc(pack('C4', $i >> 24, ($i >> 16) & 0xff, ($i >> 8) & 0xff, $i & 0xff), 1, "UTF-32");
+	if ($s === false) {
+		$cnt++;
+	} else {
+		$out .= $s;
+	}
 }
-var_dump(bin2hex($out));
+var_dump($cnt);
+var_dump($out);

+echo "UTF-32 and surrogates area with BOM\n";
+
 $out = '';
+$cnt = 0;
 for ($i = 0xd7ff; $i <= 0xe000; ++$i) {
-    $out .= mb_convert_encoding("\x00\x00\xfe\xff". pack('C4', $i >> 24, ($i >> 16) & 0xff, ($i >> 8) & 0xff, $i & 0xff), "UCS-4BE", "UTF-32");
+    $s = chk_enc("\x00\x00\xfe\xff". pack('C4', $i >> 24, ($i >> 16) & 0xff, ($i >> 8) & 0xff, $i & 0xff),
+				 1, "UTF-32", true);
+	if ($s === false) {
+		$cnt++;
+	} else {
+		$out .= $s;
+	}
 }
-var_dump(bin2hex(str_replace("\x00\x00\xfe\xff", "", $out)));
+var_dump($cnt);
+var_dump(str_replace("0000feff","",$out));

-
 $out = '';
+$cnt = 0;
 for ($i = 0xd7ff; $i <= 0xe000; ++$i) {
-    $out .= mb_convert_encoding("\xff\xfe\x00\x00". pack('C4', $i & 0xff, ($i >> 8) & 0xff, ($i >> 16) & 0xff, ($i >> 24) & 0xff), "UCS-4BE", "UTF-32");
+    $s = chk_enc("\xff\xfe\x00\x00". pack('C4', $i & 0xff, ($i >> 8) & 0xff, ($i >> 16) & 0xff, ($i >> 24) & 0xff),
+				 1, "UTF-32", true);
+	if ($s === false) {
+		$cnt++;
+	} else {
+		$out .= $s;
+	}
 }
-var_dump(bin2hex(str_replace("\x00\x00\xfe\xff", "", $out)));
+var_dump($cnt);
+var_dump(str_replace("0000feff","",$out));
+
 ?>
 --EXPECT--
 UTF-8 redundancy
 string(24) "000000310000003200000033"
 string(24) "000000410000004200000043"
-string(0) ""
-string(0) ""
-string(0) ""
-string(0) ""
-string(0) ""
-string(0) ""
-string(0) ""
-string(0) ""
-string(0) ""
-string(0) ""
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
 string(24) "000000a2000000a3000000a5"
-string(0) ""
-string(0) ""
-string(0) ""
-string(0) ""
-string(0) ""
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
 string(8) "00000080"
 string(8) "000007ff"
-string(0) ""
+bool(false)
 string(8) "00000800"
 string(8) "0000ffff"
-string(0) ""
+bool(false)
 string(8) "00010000"
-string(8) "001fffff"
-string(0) ""
-string(8) "00200000"
-string(8) "03ffffff"
-string(0) ""
-string(8) "04000000"
-string(8) "6fffffff"
-string(0) ""
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
 UTF-8 and surrogates area
+int(2048)
 string(16) "0000d7ff0000e000"
 UTF-32 code range
-string(0) ""
+bool(false)
 string(8) "0010ffff"
-string(0) ""
+bool(false)
 string(8) "0010ffff"
-string(0) ""
+bool(false)
 string(8) "0010ffff"
-string(8) "0000feff"
+string(16) "0000feff0000fffd"
 string(16) "0000feff0010ffff"
-string(8) "0000feff"
+string(16) "0000feff0000fffd"
 string(16) "0000feff0010ffff"
 UTF-32 and surrogates area
+int(2048)
 string(16) "0000d7ff0000e000"
+int(2048)
 string(16) "0000d7ff0000e000"
+int(2048)
 string(16) "0000d7ff0000e000"
+UTF-32 and surrogates area with BOM
+int(2048)
 string(16) "0000d7ff0000e000"
+int(2048)
 string(16) "0000d7ff0000e000"

Modified: php/php-src/trunk/ext/mbstring/tests/mb_parse_str.phpt
===================================================================
--- php/php-src/trunk/ext/mbstring/tests/mb_parse_str.phpt	2011-09-11 11:28:12 UTC (rev 316490)
+++ php/php-src/trunk/ext/mbstring/tests/mb_parse_str.phpt	2011-09-11 12:12:24 UTC (rev 316491)
@@ -2,7 +2,7 @@
 mb_parse_str()
 --SKIPIF--
 <?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
---XFAIL--
+--FAIL--
 register_globals calls killed the ability for mb_parse_str() to register into the global scope
 --INI--
 arg_separator.input=&

Modified: php/php-src/trunk/ext/mbstring/tests/mb_parse_str02.phpt
===================================================================
--- php/php-src/trunk/ext/mbstring/tests/mb_parse_str02.phpt	2011-09-11 11:28:12 UTC (rev 316490)
+++ php/php-src/trunk/ext/mbstring/tests/mb_parse_str02.phpt	2011-09-11 12:12:24 UTC (rev 316491)
@@ -2,7 +2,7 @@
 mb_parse_str() test 2
 --SKIPIF--
 <?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
---XFAIL--
+--FAIL--
 register_globals calls killed the ability for mb_parse_str() to register into the global scope
 --INI--
 arg_separator.input=&#
-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to