tony2001 Fri Dec 3 12:51:18 2004 EDT Added files: (Branch: PHP_5_0) /php-src/ext/standard/tests/array array_walk_recursive.phpt
Modified files: /php-src/ext/standard array.c Log: MFH: fix array_walk_recursive() so it doesn't reuse cached fci between calls and add test for it http://cvs.php.net/diff.php/php-src/ext/standard/array.c?r1=1.266.2.8&r2=1.266.2.9&ty=u Index: php-src/ext/standard/array.c diff -u php-src/ext/standard/array.c:1.266.2.8 php-src/ext/standard/array.c:1.266.2.9 --- php-src/ext/standard/array.c:1.266.2.8 Thu Dec 2 11:36:00 2004 +++ php-src/ext/standard/array.c Fri Dec 3 12:51:17 2004 @@ -21,7 +21,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: array.c,v 1.266.2.8 2004/12/02 16:36:00 tony2001 Exp $ */ +/* $Id: array.c,v 1.266.2.9 2004/12/03 17:51:17 tony2001 Exp $ */ #include "php.h" #include "php_ini.h" @@ -1125,6 +1125,8 @@ argc = ZEND_NUM_ARGS(); old_walk_func_name = BG(array_walk_func_name); + BG(array_walk_fci_cache) = empty_fcall_info_cache; + if (argc < 2 || argc > 3 || zend_get_parameters_ex(argc, &array, &BG(array_walk_func_name), &userdata) == FAILURE) { BG(array_walk_func_name) = old_walk_func_name; http://cvs.php.net/co.php/php-src/ext/standard/tests/array/array_walk_recursive.phpt?r=1.1&p=1 Index: php-src/ext/standard/tests/array/array_walk_recursive.phpt +++ php-src/ext/standard/tests/array/array_walk_recursive.phpt --TEST-- Test array_walk_recursive() --FILE-- <?php function foo($value) { echo $value . " foo\n"; } function bar($value) { echo $value . " bar\n"; } $arr = array (1,2,3); var_dump (array_walk_recursive ($arr, 'foo')); var_dump (array_walk_recursive ($arr, 'bar')); ?> --EXPECTF-- 1 foo 2 foo 3 foo bool(true) 1 bar 2 bar 3 bar bool(true) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php