1
0
mirror of https://github.com/php/php-src.git synced 2026-04-28 02:33:17 +02:00

Merge branch 'PHP-5.6' into PHP-7.0

This commit is contained in:
Christoph M. Becker
2016-07-21 18:38:44 +02:00
3 changed files with 29 additions and 0 deletions
+2
View File
@@ -76,6 +76,8 @@ PHP NEWS
mode). (Lauri Kenttä)
. Fixed bug #72264 (base64_decode $strict fails with whitespace between
padding). (Lauri Kenttä)
. Fixed bug #72330 (CSV fields incorrectly split if escape char followed by
UTF chars). (cmb)
- Wddx:
. Fixed bug #72564 (boolean always deserialized as "true") (Remi)
+1
View File
@@ -2254,6 +2254,7 @@ PHPAPI void php_fgetcsv(php_stream *stream, char delimiter, char enclosure, char
memcpy(tptr, hunk_begin, bptr - hunk_begin);
tptr += (bptr - hunk_begin);
hunk_begin = bptr;
state = 0;
break;
default:
bptr += inc_len;
+26
View File
@@ -0,0 +1,26 @@
--TEST--
Bug #72330 (CSV fields incorrectly split if escape char followed by UTF chars)
--SKIPIF--
<?php
if (setlocale(LC_ALL, "en_US.utf8", "en_AU.utf8", "ko_KR.utf8", "zh_CN.utf8", "de_DE.utf8", "es_EC.utf8", "fr_FR.utf8", "ja_JP.utf8", "el_GR.utf8", "nl_NL.utf8") === false) {
die('skip available locales not usable');
}
?>
--FILE--
<?php
setlocale(LC_ALL, "en_US.utf8", "en_AU.utf8", "ko_KR.utf8", "zh_CN.utf8", "de_DE.utf8", "es_EC.utf8", "fr_FR.utf8", "ja_JP.utf8", "el_GR.utf8", "nl_NL.utf8");
$utf_1 = chr(0xD1) . chr(0x81); // U+0440;
$utf_2 = chr(0xD8) . chr(0x80); // U+0600
$string = '"first #' . $utf_1 . $utf_2 . '";"second"';
$fields = str_getcsv($string, ';', '"', "#");
var_dump($fields);
?>
--EXPECT--
array(2) {
[0]=>
string(11) "first #с؀"
[1]=>
string(6) "second"
}