mirror of
https://github.com/php/php-src.git
synced 2025-08-15 13:38:49 +02:00
improve error messages when error raised from an internal class (do not hide class name)
This commit is contained in:
parent
8d2dd7901c
commit
baf8cadeff
2 changed files with 19 additions and 7 deletions
|
@ -197,7 +197,10 @@ ZEND_API int zend_copy_parameters_array(int param_count, zval *argument_array TS
|
|||
|
||||
ZEND_API void zend_wrong_param_count(TSRMLS_D)
|
||||
{
|
||||
zend_error(E_WARNING, "Wrong parameter count for %s()", get_active_function_name(TSRMLS_C));
|
||||
char *space;
|
||||
char *class_name = get_active_class_name(&space TSRMLS_CC);
|
||||
|
||||
zend_error(E_WARNING, "Wrong parameter count for %s%s%s()", class_name, space, get_active_function_name(TSRMLS_C));
|
||||
}
|
||||
|
||||
|
||||
|
@ -488,8 +491,11 @@ static int zend_parse_arg(int arg_num, zval **arg, va_list *va, char **spec, int
|
|||
expected_type = zend_parse_arg_impl(arg, va, spec TSRMLS_CC);
|
||||
if (expected_type) {
|
||||
if (!quiet) {
|
||||
zend_error(E_WARNING, "%s() expects parameter %d to be %s, %s given",
|
||||
get_active_function_name(TSRMLS_C), arg_num, expected_type,
|
||||
char *space;
|
||||
char *class_name = get_active_class_name(&space TSRMLS_CC);
|
||||
|
||||
zend_error(E_WARNING, "%s%s%s() expects parameter %d to be %s, %s given",
|
||||
class_name, space, get_active_function_name(TSRMLS_C), arg_num, expected_type,
|
||||
zend_zval_type_name(*arg));
|
||||
}
|
||||
return FAILURE;
|
||||
|
|
|
@ -114,16 +114,20 @@ ZEND_API void *zend_fetch_resource(zval **passed_id TSRMLS_DC, int default_id, c
|
|||
void *resource;
|
||||
va_list resource_types;
|
||||
int i;
|
||||
char *space;
|
||||
char *class_name;
|
||||
|
||||
if (default_id==-1) { /* use id */
|
||||
if (!passed_id) {
|
||||
if (resource_type_name) {
|
||||
zend_error(E_WARNING, "%s(): no %s resource supplied", get_active_function_name(TSRMLS_C), resource_type_name);
|
||||
class_name = get_active_class_name(&space TSRMLS_CC);
|
||||
zend_error(E_WARNING, "%s%s%s(): no %s resource supplied", class_name, space, get_active_function_name(TSRMLS_C), resource_type_name);
|
||||
}
|
||||
return NULL;
|
||||
} else if ((*passed_id)->type != IS_RESOURCE) {
|
||||
if (resource_type_name) {
|
||||
zend_error(E_WARNING, "%s(): supplied argument is not a valid %s resource", get_active_function_name(TSRMLS_C), resource_type_name);
|
||||
class_name = get_active_class_name(&space TSRMLS_CC);
|
||||
zend_error(E_WARNING, "%s%s%s(): supplied argument is not a valid %s resource", class_name, space, get_active_function_name(TSRMLS_C), resource_type_name);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
@ -135,7 +139,8 @@ ZEND_API void *zend_fetch_resource(zval **passed_id TSRMLS_DC, int default_id, c
|
|||
resource = zend_list_find(id, &actual_resource_type);
|
||||
if (!resource) {
|
||||
if (resource_type_name) {
|
||||
zend_error(E_WARNING, "%s(): %d is not a valid %s resource", get_active_function_name(TSRMLS_C), id, resource_type_name);
|
||||
class_name = get_active_class_name(&space TSRMLS_CC);
|
||||
zend_error(E_WARNING, "%s%s%s(): %d is not a valid %s resource", class_name, space, get_active_function_name(TSRMLS_C), id, resource_type_name);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
@ -153,7 +158,8 @@ ZEND_API void *zend_fetch_resource(zval **passed_id TSRMLS_DC, int default_id, c
|
|||
va_end(resource_types);
|
||||
|
||||
if (resource_type_name) {
|
||||
zend_error(E_WARNING, "%s(): supplied resource is not a valid %s resource", get_active_function_name(TSRMLS_C), resource_type_name);
|
||||
class_name = get_active_class_name(&space TSRMLS_CC);
|
||||
zend_error(E_WARNING, "%s%s%s(): supplied resource is not a valid %s resource", class_name, space, get_active_function_name(TSRMLS_C), resource_type_name);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue