]> granicus.if.org Git - php/commitdiff
- MFZE1 for exit fix, exposing current function name in error messages and
authorDerick Rethans <derick@php.net>
Thu, 3 Jan 2002 14:19:13 +0000 (14:19 +0000)
committerDerick Rethans <derick@php.net>
Thu, 3 Jan 2002 14:19:13 +0000 (14:19 +0000)
  exposing zend_zval_type_name().

Zend/zend_API.c
Zend/zend_API.h
Zend/zend_execute.c
Zend/zend_list.c

index 966f8c1fa8f020df16ecfb85cae3c3faa1555756..0779faf1f954cd0a0d03c4029e190dc4a17e611c 100644 (file)
@@ -166,7 +166,7 @@ ZEND_API void zend_wrong_param_count(TSRMLS_D)
 
 /* Argument parsing API -- andrei */
 
-static char *zend_zval_type_name(zval *arg)
+ZEND_API char *zend_zval_type_name(zval *arg)
 {
        switch (Z_TYPE_P(arg)) {
                case IS_NULL:
index 5ae94c5e8f098b8e548aa48f6559a39c7aae13ee..7c60741bdb74894062a0716d49adc5f10a92defa 100644 (file)
@@ -128,6 +128,7 @@ ZEND_API int _zend_get_parameters_array_ex(int param_count, zval ***argument_arr
 #define ZEND_PARSE_PARAMS_QUIET 1<<1
 ZEND_API int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...);
 ZEND_API int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, char *type_spec, ...);
+ZEND_API char *zend_zval_type_name(zval *arg);
 
 /* End of parameter parsing API -- andrei */
 
index c87138fa0f7c86eef061a092bb2e7f506a8e25d0..77b4ef6e8c4777066c521ddaff4f3de480ec8248 100644 (file)
@@ -2634,8 +2634,9 @@ send_by_ref:
                                        ptr = get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R);
                                        if (Z_TYPE_P(ptr) == IS_LONG) {
                                                EG(exit_status) = Z_LVAL_P(ptr);
+                                       } else {
+                                               zend_print_variable(ptr);
                                        }
-                                       zend_print_variable(ptr);
                                        FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
                                }
                                zend_bailout();
index 5ca3c930d81c427c6f7dc7676fc5424f0a8d1853..d27d4ebd9da8312212fa07bdf4c79939cfd18778 100644 (file)
@@ -117,12 +117,12 @@ ZEND_API void *zend_fetch_resource(zval **passed_id TSRMLS_DC, int default_id, c
        if (default_id==-1) { /* use id */
                if (!passed_id) {
                        if (resource_type_name) {
-                               zend_error(E_WARNING, "No %s resource supplied", resource_type_name);
+                               zend_error(E_WARNING, "%s(): no %s resource supplied", 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, "Supplied argument is not a valid %s resource", 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);
                        }
                        return NULL;
                }
@@ -134,7 +134,7 @@ 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, "%d is not a valid %s resource", id, 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);
                }
                return NULL;
        }
@@ -152,7 +152,7 @@ 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, "Supplied resource is not a valid %s resource", 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);
        }
 
        return NULL;