mirror of
https://github.com/php/php-src.git
synced 2024-09-23 10:57:26 +00:00
Merge remote-tracking branch 'origin/master' into native-tls
* origin/master: Revert "Removed useless local variable" Fix the fix for bug #55415 add BC breaks from PHPNG RFC add include for definition of php_url_encode
This commit is contained in:
commit
209a7a27a5
@ -35,6 +35,13 @@ PHP X.Y UPGRADE NOTES
|
|||||||
. Removed ASP (<%) and script (<script language=php>) tags.
|
. Removed ASP (<%) and script (<script language=php>) tags.
|
||||||
(RFC: https://wiki.php.net/rfc/remove_alternative_php_tags)
|
(RFC: https://wiki.php.net/rfc/remove_alternative_php_tags)
|
||||||
. call_user_method() and call_user_method_array() no longer exists.
|
. call_user_method() and call_user_method_array() no longer exists.
|
||||||
|
. PHP 7 doesn't keep original values of arguments passed to user functions,
|
||||||
|
so func_get_arg() and func_get_args() will return current value of argument
|
||||||
|
instead of the actually passed. The following code is going to be affected:
|
||||||
|
function foo($x) { $x = 2; return func_get_arg(0);} var_dump(foo(1));
|
||||||
|
It will now produce 2, not 1.
|
||||||
|
. Function parameters with duplicate name are not allowed anymore. Definitions
|
||||||
|
like “function foo($x,$x) {}” will lead to compile time error.
|
||||||
|
|
||||||
- DBA
|
- DBA
|
||||||
. dba_delete() now returns false if the key was not found for the inifile
|
. dba_delete() now returns false if the key was not found for the inifile
|
||||||
|
@ -2771,9 +2771,11 @@ ZEND_VM_HANDLER(60, ZEND_DO_FCALL, ANY, ANY)
|
|||||||
LOAD_OPLINE();
|
LOAD_OPLINE();
|
||||||
|
|
||||||
if (UNEXPECTED(fbc->type == ZEND_INTERNAL_FUNCTION)) {
|
if (UNEXPECTED(fbc->type == ZEND_INTERNAL_FUNCTION)) {
|
||||||
|
int should_change_scope = 0;
|
||||||
zval *ret;
|
zval *ret;
|
||||||
|
|
||||||
if (fbc->common.scope) {
|
if (fbc->common.scope) {
|
||||||
|
should_change_scope = 1;
|
||||||
/* TODO: we don't set scope if we call an object method ??? */
|
/* TODO: we don't set scope if we call an object method ??? */
|
||||||
/* See: ext/pdo_sqlite/tests/pdo_fetch_func_001.phpt */
|
/* See: ext/pdo_sqlite/tests/pdo_fetch_func_001.phpt */
|
||||||
#if 1
|
#if 1
|
||||||
@ -2804,7 +2806,7 @@ ZEND_VM_HANDLER(60, ZEND_DO_FCALL, ANY, ANY)
|
|||||||
if (RETURN_VALUE_USED(opline)) {
|
if (RETURN_VALUE_USED(opline)) {
|
||||||
ZVAL_UNDEF(EX_VAR(opline->result.var));
|
ZVAL_UNDEF(EX_VAR(opline->result.var));
|
||||||
}
|
}
|
||||||
if (UNEXPECTED(fbc->common.scope)) {
|
if (UNEXPECTED(should_change_scope)) {
|
||||||
ZEND_VM_C_GOTO(fcall_end_change_scope);
|
ZEND_VM_C_GOTO(fcall_end_change_scope);
|
||||||
} else {
|
} else {
|
||||||
ZEND_VM_C_GOTO(fcall_end);
|
ZEND_VM_C_GOTO(fcall_end);
|
||||||
@ -2830,7 +2832,7 @@ ZEND_VM_HANDLER(60, ZEND_DO_FCALL, ANY, ANY)
|
|||||||
zval_ptr_dtor(ret);
|
zval_ptr_dtor(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UNEXPECTED(fbc->common.scope)) {
|
if (UNEXPECTED(should_change_scope)) {
|
||||||
ZEND_VM_C_GOTO(fcall_end_change_scope);
|
ZEND_VM_C_GOTO(fcall_end_change_scope);
|
||||||
} else {
|
} else {
|
||||||
ZEND_VM_C_GOTO(fcall_end);
|
ZEND_VM_C_GOTO(fcall_end);
|
||||||
|
@ -513,9 +513,11 @@ static int ZEND_FASTCALL ZEND_DO_FCALL_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
|||||||
LOAD_OPLINE();
|
LOAD_OPLINE();
|
||||||
|
|
||||||
if (UNEXPECTED(fbc->type == ZEND_INTERNAL_FUNCTION)) {
|
if (UNEXPECTED(fbc->type == ZEND_INTERNAL_FUNCTION)) {
|
||||||
|
int should_change_scope = 0;
|
||||||
zval *ret;
|
zval *ret;
|
||||||
|
|
||||||
if (fbc->common.scope) {
|
if (fbc->common.scope) {
|
||||||
|
should_change_scope = 1;
|
||||||
/* TODO: we don't set scope if we call an object method ??? */
|
/* TODO: we don't set scope if we call an object method ??? */
|
||||||
/* See: ext/pdo_sqlite/tests/pdo_fetch_func_001.phpt */
|
/* See: ext/pdo_sqlite/tests/pdo_fetch_func_001.phpt */
|
||||||
#if 1
|
#if 1
|
||||||
@ -546,7 +548,7 @@ static int ZEND_FASTCALL ZEND_DO_FCALL_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
|||||||
if (RETURN_VALUE_USED(opline)) {
|
if (RETURN_VALUE_USED(opline)) {
|
||||||
ZVAL_UNDEF(EX_VAR(opline->result.var));
|
ZVAL_UNDEF(EX_VAR(opline->result.var));
|
||||||
}
|
}
|
||||||
if (UNEXPECTED(fbc->common.scope)) {
|
if (UNEXPECTED(should_change_scope)) {
|
||||||
goto fcall_end_change_scope;
|
goto fcall_end_change_scope;
|
||||||
} else {
|
} else {
|
||||||
goto fcall_end;
|
goto fcall_end;
|
||||||
@ -572,7 +574,7 @@ static int ZEND_FASTCALL ZEND_DO_FCALL_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
|||||||
zval_ptr_dtor(ret);
|
zval_ptr_dtor(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UNEXPECTED(fbc->common.scope)) {
|
if (UNEXPECTED(should_change_scope)) {
|
||||||
goto fcall_end_change_scope;
|
goto fcall_end_change_scope;
|
||||||
} else {
|
} else {
|
||||||
goto fcall_end;
|
goto fcall_end;
|
||||||
|
@ -37,7 +37,8 @@
|
|||||||
#ifdef HAVE_SYS_UTSNAME_H
|
#ifdef HAVE_SYS_UTSNAME_H
|
||||||
#include <sys/utsname.h>
|
#include <sys/utsname.h>
|
||||||
#endif
|
#endif
|
||||||
|
#include "url.h"
|
||||||
|
#include "php_string.h"
|
||||||
|
|
||||||
#ifdef PHP_WIN32
|
#ifdef PHP_WIN32
|
||||||
typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO);
|
typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO);
|
||||||
@ -143,8 +144,7 @@ PHPAPI void php_info_print_module(zend_module_entry *zend_module) /* {{{ */
|
|||||||
{
|
{
|
||||||
if (zend_module->info_func || zend_module->version) {
|
if (zend_module->info_func || zend_module->version) {
|
||||||
if (!sapi_module.phpinfo_as_text) {
|
if (!sapi_module.phpinfo_as_text) {
|
||||||
int len = 0;
|
zend_string *url_name = php_url_encode(zend_module->name, strlen(zend_module->name));
|
||||||
zend_string *url_name = php_url_encode(zend_module->name, strlen(zend_module->name), &len);
|
|
||||||
|
|
||||||
php_strtolower(url_name->val, url_name->len);
|
php_strtolower(url_name->val, url_name->len);
|
||||||
php_info_printf("<h2><a name=\"module_%s\">%s</a></h2>\n", url_name->val, zend_module->name);
|
php_info_printf("<h2><a name=\"module_%s\">%s</a></h2>\n", url_name->val, zend_module->name);
|
||||||
|
Loading…
Reference in New Issue
Block a user