Hi Jani, I always do `make test`. And these tests work fine for me.
May be this is xdebug related bug again. Thanks. Dmitry. > -----Original Message----- > From: Jani Taskinen [mailto:[EMAIL PROTECTED] > Sent: Monday, July 04, 2005 4:40 PM > To: Dmitry Stogov > Cc: [email protected] > Subject: Re: [PHP-CVS] cvs: php-src / NEWS /ext/standard > array.c /ext/standard/tests/array bug31158.phpt > > > > Not related to this bug but can you PLEASE run 'make test' > after each and every fix you make? Especially when you touch > engine stuff.. > > Now these tests have started to fail: > > tests/lang/013.phpt > tests/lang/014.phpt > tests/lang/018.phpt > > All eval() related.. > > --Jani > > > On Mon, 4 Jul 2005, Dmitry Stogov wrote: > > > dmitry Mon Jul 4 06:00:39 2005 EDT > > > > Added files: > > /php-src/ext/standard/tests/array bug31158.phpt > > > > Modified files: > > /php-src NEWS > > /php-src/ext/standard array.c > > Log: > > Fixed bug #31158 (array_splice on $GLOBALS crashes) > > > > > > http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1977&r2=1.1978&ty=u > > Index: php-src/NEWS > > diff -u php-src/NEWS:1.1977 php-src/NEWS:1.1978 > > --- php-src/NEWS:1.1977 Mon Jul 4 03:48:16 2005 > > +++ php-src/NEWS Mon Jul 4 06:00:34 2005 > > @@ -20,6 +20,7 @@ > > overloaded (__get)). (Dmitry) > > - Fixed bug #31358 (Older GCC versions do not provide > portable va_copy()). > > (Jani) > > +- Fixed bug #31158 (array_splice on $GLOBALS crashes). (Dmitry) > > - Fixed bug #30828 (debug_backtrace() reports incorrect > class in overridden > > methods). (Dmitry) > > - Fixed bug #30519 (Interface not existing says Class not found). > > (Dmitry) > > > http://cvs.php.net/diff.php/php-src/ext/standard/array.c?r1=1. > 305&r2=1.306&ty=u > > Index: php-src/ext/standard/array.c > > diff -u php-src/ext/standard/array.c:1.305 > php-src/ext/standard/array.c:1.306 > > --- php-src/ext/standard/array.c:1.305 Thu Jun 30 07:15:00 2005 > > +++ php-src/ext/standard/array.c Mon Jul 4 06:00:38 2005 > > @@ -21,7 +21,7 @@ > > > > > +------------------------------------------------------------- > ---------+ > > */ > > > > -/* $Id: array.c,v 1.305 2005/06/30 11:15:00 sniper Exp $ */ > > +/* $Id: array.c,v 1.306 2005/07/04 10:00:38 dmitry Exp $ */ > > > > #include "php.h" > > #include "php_ini.h" > > @@ -2060,8 +2060,11 @@ > > hashtable and replace it with new one */ > > new_hash = php_splice(Z_ARRVAL_P(stack), 0, 0, > &args[1], argc-1, NULL); > > zend_hash_destroy(Z_ARRVAL_P(stack)); > > - FREE_HASHTABLE(Z_ARRVAL_P(stack)); > > - Z_ARRVAL_P(stack) = new_hash; > > + if (Z_ARRVAL_P(stack) == &EG(symbol_table)) { > > + zend_reset_all_cv(&EG(symbol_table) TSRMLS_CC); > > + } > > + *Z_ARRVAL_P(stack) = *new_hash; > > + FREE_HASHTABLE(new_hash); > > > > /* Clean up and return the number of elements in the stack */ > > efree(args); > > @@ -2137,8 +2140,11 @@ > > > > /* Replace input array's hashtable with the new one */ > > zend_hash_destroy(Z_ARRVAL_P(array)); > > - efree(Z_ARRVAL_P(array)); > > - Z_ARRVAL_P(array) = new_hash; > > + if (Z_ARRVAL_P(array) == &EG(symbol_table)) { > > + zend_reset_all_cv(&EG(symbol_table) TSRMLS_CC); > > + } > > + *Z_ARRVAL_P(array) = *new_hash; > > + FREE_HASHTABLE(new_hash); > > > > /* Clean up */ > > if (argc == 4) > > @@ -2670,8 +2676,11 @@ > > > > /* Copy the result hash into return value */ > > zend_hash_destroy(Z_ARRVAL_P(return_value)); > > - efree(Z_ARRVAL_P(return_value)); > > - Z_ARRVAL_P(return_value) = new_hash; > > + if (Z_ARRVAL_P(return_value) == &EG(symbol_table)) { > > + zend_reset_all_cv(&EG(symbol_table) TSRMLS_CC); > > + } > > + *Z_ARRVAL_P(return_value) = *new_hash; > > + FREE_HASHTABLE(new_hash); > > > > /* Clean up */ > > efree(pads); > > > > > http://cvs.php.net/co.php/php-src/ext/standard/tests/array/bug31158.ph > > pt?r=1.1&p=1 > > Index: php-src/ext/standard/tests/array/bug31158.phpt > > +++ php-src/ext/standard/tests/array/bug31158.phpt > > --TEST-- > > Bug #31158 (array_splice on $GLOBALS crashes) > > --FILE-- > > <?php > > function __(){ > > $GLOBALS['a'] = "bug\n"; array_splice($GLOBALS,0,count($GLOBALS)); > > /* All global variables including $GLOBALS are removed */ > > echo $GLOBALS['a']; > > } > > __(); > > echo "ok\n"; > > ?> > > --EXPECTF-- > > Notice: Undefined variable: GLOBALS in %sbug31158.php on line 6 > > ok > > > > > > -- > Donate @ http://pecl.php.net/wishlist.php/sniper > > -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
