From 15e1d817be8b1f59318e0110e6e5473b30ac3515 Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Sun, 14 Mar 2004 22:59:04 +0000 Subject: [PATCH] Fix strval to use __toString if necessary --- ext/standard/type.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/ext/standard/type.c b/ext/standard/type.c index 66557dffba..296353decd 100644 --- a/ext/standard/type.c +++ b/ext/standard/type.c @@ -180,14 +180,24 @@ PHP_FUNCTION(floatval) PHP_FUNCTION(strval) { pval **num; + zval expr_copy; + int use_copy; if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &num) == FAILURE) { WRONG_PARAM_COUNT; } *return_value = **num; - zval_copy_ctor(return_value); - convert_to_string(return_value); + + zend_make_printable_zval(return_value, &expr_copy, &use_copy); + if (use_copy) { + *return_value = expr_copy; + INIT_PZVAL(return_value); + zval_copy_ctor(return_value); + zval_dtor(&expr_copy); + } else { + zval_copy_ctor(return_value); + } } /* }}} */ -- 2.40.0