Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix #78535: auto_detect_line_endings value not parsed as bool
This commit is contained in:
Christoph M. Becker 2019-09-14 18:46:34 +02:00
commit 00ad365125
5 changed files with 58 additions and 2 deletions

4
NEWS
View File

@ -2,6 +2,10 @@ PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? ????, PHP 7.3.11
- Core:
. Fixed bug #78535 (auto_detect_line_endings value not parsed as bool).
(bugreportuser)
- Exif :
. Fixed bug #78442 ('Illegal component' on exif_read_data since PHP7)
(Kalle)

View File

@ -163,7 +163,7 @@ PHP_INI_BEGIN()
STD_PHP_INI_ENTRY("user_agent", NULL, PHP_INI_ALL, OnUpdateString, user_agent, php_file_globals, file_globals)
STD_PHP_INI_ENTRY("from", NULL, PHP_INI_ALL, OnUpdateString, from_address, php_file_globals, file_globals)
STD_PHP_INI_ENTRY("default_socket_timeout", "60", PHP_INI_ALL, OnUpdateLong, default_socket_timeout, php_file_globals, file_globals)
STD_PHP_INI_ENTRY("auto_detect_line_endings", "0", PHP_INI_ALL, OnUpdateLong, auto_detect_line_endings, php_file_globals, file_globals)
STD_PHP_INI_ENTRY("auto_detect_line_endings", "0", PHP_INI_ALL, OnUpdateBool, auto_detect_line_endings, php_file_globals, file_globals)
PHP_INI_END()
PHP_MINIT_FUNCTION(file)

View File

@ -115,7 +115,7 @@ php_meta_tags_token php_next_meta_token(php_meta_tags_data *);
typedef struct {
int pclose_ret;
size_t def_chunk_size;
zend_long auto_detect_line_endings;
zend_bool auto_detect_line_endings;
zend_long default_socket_timeout;
char *user_agent; /* for the http wrapper */
char *from_address; /* for the ftp and http wrappers */

View File

@ -0,0 +1,24 @@
--TEST--
auto_detect_line_endings --INI-- bool
--INI--
auto_detect_line_endings=on
--STDIN--
fooBar1 fooBar2 fooBar3
--FILE--
<?php
var_dump(ini_get("auto_detect_line_endings"));
var_dump(fgets(STDIN));
var_dump(fgets(STDIN));
var_dump(fgets(STDIN));
echo "Done\n";
?>
--EXPECTF--
string(1) "1"
string(8) "fooBar1 "
string(8) "fooBar2 "
string(8) "fooBar3
"
Done

View File

@ -0,0 +1,28 @@
--TEST--
ini_set auto_detect_line_endings bool
--FILE--
<?php
ini_set("auto_detect_line_endings", "on");
var_dump(ini_get("auto_detect_line_endings"));
$filePath = __DIR__ . DIRECTORY_SEPARATOR . "auto_detect_line_endings_2.txt";
file_put_contents($filePath, "fooBar1\rfooBar2\rfooBar3");
$stdin = fopen($filePath, "r");
var_dump(fgets($stdin));
var_dump(fgets($stdin));
var_dump(fgets($stdin));
echo "Done\n";
?>
--EXPECTF--
string(2) "on"
string(8) "fooBar1 "
string(8) "fooBar2 "
string(7) "fooBar3"
Done
--CLEAN--
<?php
unlink(__DIR__ . DIRECTORY_SEPARATOR . "auto_detect_line_endings_2.txt");
?>