Added missing warning message

This commit is contained in:
Dmitry Stogov 2008-01-10 09:38:23 +00:00
parent 1300527db5
commit ed8e2fa031
3 changed files with 19 additions and 5 deletions

View File

@ -944,6 +944,7 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
if (ARG_SHOULD_BE_SENT_BY_REF(EX(function_state).function, i + 1)
&& !PZVAL_IS_REF(*fci->params[i])) {
if (Z_REFCOUNT_PP(fci->params[i]) > 1) {
zval *new_zval;
@ -958,8 +959,14 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
zval_ptr_dtor(&method_name);
zval_ptr_dtor(&params_array);
}
zend_error(E_WARNING, "Parameter %d to %s%s%s() expected to be a reference, value given",
i+1,
EX(function_state).function->common.scope ? EX(function_state).function->common.scope->name : "",
EX(function_state).function->common.scope ? "::" : "",
EX(function_state).function->common.function_name);
return FAILURE;
}
ALLOC_ZVAL(new_zval);
*new_zval = **fci->params[i];
zval_copy_ctor(new_zval);

View File

@ -26,9 +26,13 @@ echo "Done\n";
--EXPECTF--
string(9) "x.changed"
Warning: Invocation of C's constructor failed in %s/bug42976.php on line %d
Warning: Parameter 1 to C::__construct() expected to be a reference, value given in %sbug42976.php on line 15
Warning: Invocation of C's constructor failed in %sbug42976.php on line 15
string(10) "x.original"
Warning: Invocation of C's constructor failed in %s/bug42976.php on line %d
Warning: Parameter 1 to C::__construct() expected to be a reference, value given in %sbug42976.php on line 18
Warning: Invocation of C's constructor failed in %sbug42976.php on line 18
string(10) "x.original"
Done

View File

@ -12,13 +12,16 @@ var_dump(call_user_func("strlen", $a));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: Parameter 1 to sort() expected to be a reference, value given in %sbug41970.php on line 5
NULL
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %sbug41970.php on line 6
int(5)
Warning: Parameter 1 to sort() expected to be a reference, value given in %sbug41970.php on line 7
NULL
Notice: Array to string conversion in %s on line %d
Notice: Array to string conversion in %sbug41970.php on line 8
int(5)
Done