From: Derick Rethans Date: Thu, 3 Jan 2002 14:19:13 +0000 (+0000) Subject: - MFZE1 for exit fix, exposing current function name in error messages and X-Git-Tag: PRE_ISSET_PATCH~320 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9b391a83c2f06e4e2185ab37d1427b70e48fc94f;p=php - MFZE1 for exit fix, exposing current function name in error messages and exposing zend_zval_type_name(). --- diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 966f8c1fa8..0779faf1f9 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -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: diff --git a/Zend/zend_API.h b/Zend/zend_API.h index 5ae94c5e8f..7c60741bdb 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -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 */ diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index c87138fa0f..77b4ef6e8c 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -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(); diff --git a/Zend/zend_list.c b/Zend/zend_list.c index 5ca3c930d8..d27d4ebd9d 100644 --- a/Zend/zend_list.c +++ b/Zend/zend_list.c @@ -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;