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