mirror of
https://github.com/php/php-src.git
synced 2024-11-23 09:54:15 +08:00
Merge branch 'PHP-8.3'
* PHP-8.3: Fix GH-14189: PHP Interactive shell input state incorrectly handles quoted heredoc literals.
This commit is contained in:
commit
f88fc9c6e8
@ -343,6 +343,7 @@ static int cli_is_valid_code(char *code, size_t len, zend_string **prompt) /* {{
|
||||
case ' ':
|
||||
case '\t':
|
||||
case '\'':
|
||||
case '"':
|
||||
break;
|
||||
case '\r':
|
||||
case '\n':
|
||||
|
44
sapi/cli/tests/gh14189.phpt
Normal file
44
sapi/cli/tests/gh14189.phpt
Normal file
@ -0,0 +1,44 @@
|
||||
--TEST--
|
||||
GH-14189 (PHP Interactive shell input state incorrectly handles quoted heredoc literals.)
|
||||
--EXTENSIONS--
|
||||
readline
|
||||
--SKIPIF--
|
||||
<?php
|
||||
include "skipif.inc";
|
||||
if (readline_info('done') === NULL) {
|
||||
die ("skip need readline support");
|
||||
}
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
$php = getenv('TEST_PHP_EXECUTABLE');
|
||||
|
||||
// disallow console escape sequences that may break the output
|
||||
putenv('TERM=VT100');
|
||||
|
||||
$code = <<<EOT
|
||||
\$test = <<<"EOF"
|
||||
foo
|
||||
bar
|
||||
baz
|
||||
EOF;
|
||||
echo \$test;
|
||||
exit
|
||||
EOT;
|
||||
|
||||
$code = escapeshellarg($code);
|
||||
echo `echo $code | "$php" -a`, "\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
Interactive shell
|
||||
|
||||
php > $test = <<<"EOF"
|
||||
<<< > foo
|
||||
<<< > bar
|
||||
<<< > baz
|
||||
<<< > EOF;
|
||||
php > echo $test;
|
||||
foo
|
||||
bar
|
||||
baz
|
||||
php > exit
|
Loading…
Reference in New Issue
Block a user