helly Sun Mar 14 17:59:06 2004 EDT Modified files: /php-src/ext/standard type.c Log: Fix strval to use __toString if necessary http://cvs.php.net/diff.php/php-src/ext/standard/type.c?r1=1.23&r2=1.24&ty=u Index: php-src/ext/standard/type.c diff -u php-src/ext/standard/type.c:1.23 php-src/ext/standard/type.c:1.24 --- php-src/ext/standard/type.c:1.23 Thu Jan 8 03:17:34 2004 +++ php-src/ext/standard/type.c Sun Mar 14 17:59:04 2004 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: type.c,v 1.23 2004/01/08 08:17:34 andi Exp $ */ +/* $Id: type.c,v 1.24 2004/03/14 22:59:04 helly Exp $ */ #include "php.h" #include "php_incomplete_class.h" @@ -180,14 +180,24 @@ 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); + } } /* }}} */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php