]> granicus.if.org Git - php/commitdiff
- Initial support for Thies' idea of passing functions a flag telling them
authorAndi Gutmans <andi@php.net>
Tue, 16 Nov 1999 18:47:47 +0000 (18:47 +0000)
committerAndi Gutmans <andi@php.net>
Tue, 16 Nov 1999 18:47:47 +0000 (18:47 +0000)
  they don't need to return a value. Adjusted reset() to work with this.
  It is a bit problematic because if internal functions don't look at the
  flag and still return a value orginally this leaked. So I free the value
  in any case, which kind of makes the speed gain a bit smaller

ext/standard/array.c

index cf8114a2b60909fbb194c20cb704a51af9d7a12e..6381f64888ef0a45244b3ed81b42bd1a70467cd7 100644 (file)
@@ -574,10 +574,12 @@ PHP_FUNCTION(reset)
        if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) {
                return;
        }
-               
-       *return_value = **entry;
-       pval_copy_constructor(return_value);
-       INIT_PZVAL(return_value); /* XXX is this needed? */
+
+       if (used_return_value) {        
+               *return_value = **entry;
+               pval_copy_constructor(return_value);
+       /*      INIT_PZVAL(return_value);  XXX is this needed? - No! :) */
+       }
 }
 
 PHP_FUNCTION(current)