cvs: php4(PHP_4_2_0) /ext/standard array.c

From: Date: Wed, 24 Apr 2002 15:29:39 +0000
Subject: cvs: php4(PHP_4_2_0) /ext/standard array.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-11392@lists.php.net to get a copy of this message
andrei Wed Apr 24 11:29:39 2002 EDT Modified files: (Branch: PHP_4_2_0) /php4/ext/standard array.c Log: MFH. Index: php4/ext/standard/array.c diff -u php4/ext/standard/array.c:1.157 php4/ext/standard/array.c:1.157.2.1 --- php4/ext/standard/array.c:1.157 Fri Mar 1 07:00:05 2002 +++ php4/ext/standard/array.c Wed Apr 24 11:29:38 2002 @@ -21,7 +21,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: array.c,v 1.157 2002/03/01 12:00:05 zeev Exp $ */ +/* $Id: array.c,v 1.157.2.1 2002/04/24 15:29:38 andrei Exp $ */ #include "php.h" #include "php_ini.h" @@ -1945,6 +1945,7 @@ array_init(return_value); for (i=0; i<argc; i++) { + SEPARATE_ZVAL(args[i]); convert_to_array_ex(args[i]); php_array_merge(Z_ARRVAL_P(return_value), Z_ARRVAL_PP(args[i]), recursive); } @@ -2925,7 +2926,8 @@ PHP_FUNCTION(array_sum) { zval **input, - **entry; + **entry, + entry_n; int argc = ZEND_NUM_ARGS(); HashPosition pos; double dval; @@ -2949,19 +2951,20 @@ if (Z_TYPE_PP(entry) == IS_ARRAY || Z_TYPE_PP(entry) == IS_OBJECT) continue; - SEPARATE_ZVAL(entry); - convert_scalar_to_number(*entry TSRMLS_CC); + entry_n = **entry; + zval_copy_ctor(&entry_n); + convert_scalar_to_number(&entry_n TSRMLS_CC); - if (Z_TYPE_PP(entry) == IS_LONG && Z_TYPE_P(return_value) == IS_LONG) { - dval = (double)Z_LVAL_P(return_value) + (double)Z_LVAL_PP(entry); + if (Z_TYPE(entry_n) == IS_LONG && Z_TYPE_P(return_value) == IS_LONG) { + dval = (double)Z_LVAL_P(return_value) + (double)Z_LVAL(entry_n); if ( (double)LONG_MIN <= dval && dval <= (double)LONG_MAX ) { - Z_LVAL_P(return_value) += Z_LVAL_PP(entry); + Z_LVAL_P(return_value) += Z_LVAL(entry_n); continue; } } convert_to_double(return_value); - convert_to_double_ex(entry); - Z_DVAL_P(return_value) += Z_DVAL_PP(entry); + convert_to_double(&entry_n); + Z_DVAL_P(return_value) += Z_DVAL(entry_n); } }

« previous php.cvs (#11392) next »