]> granicus.if.org Git - php/commitdiff
improve error messages when error raised from an internal class (do not hide class...
authorAntony Dovgal <tony2001@php.net>
Fri, 17 Jun 2005 11:25:31 +0000 (11:25 +0000)
committerAntony Dovgal <tony2001@php.net>
Fri, 17 Jun 2005 11:25:31 +0000 (11:25 +0000)
Zend/zend_API.c
Zend/zend_list.c

index b4c66bf5ceb126d5c12addbb8e685c16c7837423..c6ca975cfe03cda558ae76ca077bc01f7e82a74f 100644 (file)
@@ -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;
index bd88e44c761ee43ab073a8383a41442c6d71b8d5..662a8661fbb3ce4aeafb5ce97330ce60937674b0 100644 (file)
@@ -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;