mirror of
https://github.com/php/php-src.git
synced 2024-09-22 10:27:25 +00:00
Improve fix for bug 67741
Thanks to laruence.
This commit is contained in:
parent
bb466d57ae
commit
860fc3947f
22
main/main.c
22
main/main.c
@ -2508,19 +2508,21 @@ PHPAPI int php_execute_script(zend_file_handle *primary_file TSRMLS_DC)
|
||||
zend_set_timeout(INI_INT("max_execution_time"), 0);
|
||||
}
|
||||
|
||||
{
|
||||
/*
|
||||
If cli primary file has shabang line and there is a prepend file,
|
||||
the `start_lineno` will be used by prepend file but not primary file,
|
||||
save it and restore after prepend file been executed.
|
||||
*/
|
||||
/*
|
||||
If cli primary file has shabang line and there is a prepend file,
|
||||
the `start_lineno` will be used by prepend file but not primary file,
|
||||
save it and restore after prepend file been executed.
|
||||
*/
|
||||
if (CG(start_lineno) && prepend_file_p) {
|
||||
int orig_start_lineno = CG(start_lineno);
|
||||
|
||||
CG(start_lineno) = 0;
|
||||
retval = (zend_execute_scripts(ZEND_REQUIRE TSRMLS_CC, NULL, 1, prepend_file_p) == SUCCESS);
|
||||
CG(start_lineno) = orig_start_lineno;
|
||||
|
||||
retval = retval && (zend_execute_scripts(ZEND_REQUIRE TSRMLS_CC, NULL, 2, primary_file, append_file_p) == SUCCESS);
|
||||
if (zend_execute_scripts(ZEND_REQUIRE TSRMLS_CC, NULL, 1, prepend_file_p) == SUCCESS) {
|
||||
CG(start_lineno) = orig_start_lineno;
|
||||
retval = (zend_execute_scripts(ZEND_REQUIRE TSRMLS_CC, NULL, 2, primary_file, append_file_p) == SUCCESS);
|
||||
}
|
||||
} else {
|
||||
retval = (zend_execute_scripts(ZEND_REQUIRE TSRMLS_CC, NULL, 3, prepend_file_p, primary_file, append_file_p) == SUCCESS);
|
||||
}
|
||||
} zend_end_try();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user