cvs: php4 /ext/standard array.c /ext/standard/tests/array count_recursive.phpt

From: Date: Wed, 09 Jan 2002 16:03:36 +0000
Subject: cvs: php4 /ext/standard array.c /ext/standard/tests/array count_recursive.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-8995@lists.php.net to get a copy of this message
derick Wed Jan 9 11:03:36 2002 EDT Modified files: /php4/ext/standard array.c /php4/ext/standard/tests/array count_recursive.phpt Log: - Fix bug introduced in earlier patch Index: php4/ext/standard/array.c diff -u php4/ext/standard/array.c:1.151 php4/ext/standard/array.c:1.152 --- php4/ext/standard/array.c:1.151 Sat Dec 29 15:59:59 2001 +++ php4/ext/standard/array.c Wed Jan 9 11:03:34 2002 @@ -21,7 +21,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: array.c,v 1.151 2001/12/29 20:59:59 derick Exp $ */ +/* $Id: array.c,v 1.152 2002/01/09 16:03:34 derick Exp $ */ #include "php.h" #include "php_ini.h" @@ -260,11 +260,16 @@ if (zend_parse_parameters (ZEND_NUM_ARGS() TSRMLS_CC, "z|l", &array, &mode) == FAILURE) return; - if (Z_TYPE_P(array) == IS_ARRAY) { - RETURN_LONG (php_count_recursive (array, mode)); - } else { - /* return 1 for non-array arguments */ - RETURN_LONG(1); + switch (Z_TYPE_P(array)) { + case IS_NULL: + RETURN_LONG(0); + break; + case IS_ARRAY: + RETURN_LONG (php_count_recursive (array, mode)); + break; + default: + RETURN_LONG(1); + break; } } /* }}} */ Index: php4/ext/standard/tests/array/count_recursive.phpt diff -u php4/ext/standard/tests/array/count_recursive.phpt:1.1 php4/ext/standard/tests/array/count_recursive.phpt:1.2 --- php4/ext/standard/tests/array/count_recursive.phpt:1.1 Sat Dec 29 16:05:03 2001 +++ php4/ext/standard/tests/array/count_recursive.phpt Wed Jan 9 11:03:36 2002 @@ -4,6 +4,11 @@ --GET-- --FILE-- <?php +print "Testing NULL...\n"; +$arr = NULL; +print "COUNT_NORMAL: should be 0, is ".count($arr, COUNT_NORMAL)."\n"; +print "COUNT_RECURSIVE: should be 0, is ".count($arr, COUNT_RECURSIVE)."\n"; + print "Testing arrays...\n"; $arr = array(1, array(3, 4, array(6, array(8)))); print "COUNT_NORMAL: should be 2, is ".count($arr, COUNT_NORMAL)."\n"; @@ -23,6 +28,9 @@ print "COUNT_NORMAL: should be 2, is ".count(array("a", array("b")))."\n"; ?> --EXPECT-- +Testing NULL... +COUNT_NORMAL: should be 0, is 0 +COUNT_RECURSIVE: should be 0, is 0 Testing arrays... COUNT_NORMAL: should be 2, is 2 COUNT_RECURSIVE: should be 8, is 8

« previous php.cvs (#8995) next »