cvs: php4 /ext/standard array.c /ext/standard/tests/array count_recursive.phpt
| From: | Derick Rethans | 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