]> granicus.if.org Git - php/commitdiff
MFH: Fixed strval to not print notices on strval(array()).
authorIlia Alshanetsky <iliaa@php.net>
Mon, 6 Jun 2005 12:50:57 +0000 (12:50 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Mon, 6 Jun 2005 12:50:57 +0000 (12:50 +0000)
ext/standard/type.c

index f09ca87730ac7bd90036c447e6082de8214b2b02..240f78171037a20a318f85fea9ca50496a6f6f9c 100644 (file)
@@ -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);
+       }
 }
 /* }}} */