Re: cvs: php-src /ext/standard array.c

From: Date: Sat, 09 Aug 2003 15:56:21 +0000
Subject: Re: cvs: php-src /ext/standard array.c
References: 1 2  Groups: php.cvs 
Request: Send a blank email to php-cvs+get-23034@lists.php.net to get a copy of this message
I'll make it set the defaut value to NULL, that addresses the problem you've described and maintains acceptable behaviour for the original problem. Ilia On August 9, 2003 02:09 am, Moriyoshi Koizumi wrote: > I don't think using 0 as the initial value by default is a good idea. > because array_reduce() can take any kind of element other than integer. > > <?php > $a = array("a", "b", "c"); > $lambda = create_function('$a, $b', 'return $a . $b;'); > var_dump(array_reduce($a, $lambda)); > ?> > > [Before this patch] > string(3) "abc" > > [After this patch] > string(4) "0abc" > > Those results imply a significant BC break. I don't know what *is* the > correct behaviour though. > > Moriyoshi > > "Ilia Alshanetsky" <iliaa@php.net> wrote: > > iliaa Fri Aug 8 19:50:36 2003 EDT > > > > Modified files: > > /php-src/ext/standard array.c > > Log: > > Fixed bug #24980 (array_reduce() uses first element as default running > > total). > > Fixed memory leak that can be replicated using the function example on > > http://www.php.net/array_reduce > > > > > > Index: php-src/ext/standard/array.c > > diff -u php-src/ext/standard/array.c:1.238 > > php-src/ext/standard/array.c:1.239 --- > > php-src/ext/standard/array.c:1.238 Tue Aug 5 06:29:03 2003 > > +++ php-src/ext/standard/array.c Fri Aug 8 19:50:36 2003 > > @@ -21,7 +21,7 @@ > > > > +----------------------------------------------------------------------+ > > */ > > > > -/* $Id: array.c,v 1.238 2003/08/05 10:29:03 zeev Exp $ */ > > +/* $Id: array.c,v 1.239 2003/08/08 23:50:36 iliaa Exp $ */ > > > > #include "php.h" > > #include "php_ini.h" > > @@ -3374,7 +3374,9 @@ > > > > if (ZEND_NUM_ARGS() > 2) { > > result = *initial; > > - zval_add_ref(&result); > > + } else { > > + MAKE_STD_ZVAL(result); > > + ZVAL_LONG(result, 0); > > } > > > > /* (zval **)input points to an element of argument stack > > > > > > > > -- > > PHP CVS Mailing List (http://www.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php

« previous php.cvs (#23034) next »