]> granicus.if.org Git - php/commitdiff
- Do not touch return_valu's refcount or is_ref
authorMarcus Boerger <helly@php.net>
Fri, 11 Mar 2005 02:11:44 +0000 (02:11 +0000)
committerMarcus Boerger <helly@php.net>
Fri, 11 Mar 2005 02:11:44 +0000 (02:11 +0000)
ext/standard/type.c

index 3005df1dce56eb9f88697f8efee597dd5c0e229e..eeff11bc2965726f94c19f3ebdfa0e6392ea9444 100644 (file)
@@ -153,8 +153,7 @@ PHP_FUNCTION(intval)
                        WRONG_PARAM_COUNT;
        }
 
-       *return_value = **num;
-       zval_copy_ctor(return_value);
+       RETVAL_ZVAL(*num, 1, 0);
        convert_to_long_base(return_value, base);
 }
 /* }}} */
@@ -169,8 +168,7 @@ PHP_FUNCTION(floatval)
                WRONG_PARAM_COUNT;
        }
 
-       *return_value = **num;
-       zval_copy_ctor(return_value);
+       RETVAL_ZVAL(*num, 1, 0);
        convert_to_double(return_value);
 }
 /* }}} */
@@ -179,7 +177,7 @@ PHP_FUNCTION(floatval)
    Get the string value of a variable */
 PHP_FUNCTION(strval)
 {
-       pval **num;
+       pval **num, *tmp;
        zval expr_copy;
        int use_copy;
 
@@ -187,16 +185,12 @@ PHP_FUNCTION(strval)
                WRONG_PARAM_COUNT;
        }
 
-       *return_value = **num;
-
-       zend_make_printable_zval(return_value, &expr_copy, &use_copy);
+       zend_make_printable_zval(*num, &expr_copy, &use_copy);
        if (use_copy) {
-               *return_value = expr_copy;
-               INIT_PZVAL(return_value);
-               zval_copy_ctor(return_value);
-               zval_dtor(&expr_copy);
+               tmp = &expr_copy;
+               RETVAL_ZVAL(tmp, 0, 0);
        } else {
-               zval_copy_ctor(return_value);
+               RETVAL_ZVAL(*num, 0, 0);
        }
 }
 /* }}} */