From: Derick Rethans Date: Wed, 9 Jan 2002 16:03:36 +0000 (+0000) Subject: - Fix bug introduced in earlier patch X-Git-Tag: PRE_ISSET_PATCH~241 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=aee570302f7ec129ec83e675461a9fbd80efb22d;p=php - Fix bug introduced in earlier patch --- diff --git a/ext/standard/array.c b/ext/standard/array.c index 3ce6d17cc0..86331a75e8 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -260,11 +260,16 @@ PHP_FUNCTION(count) 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; } } /* }}} */ diff --git a/ext/standard/tests/array/count_recursive.phpt b/ext/standard/tests/array/count_recursive.phpt index 6e7d141d81..a6b7ee4afa 100644 --- a/ext/standard/tests/array/count_recursive.phpt +++ b/ext/standard/tests/array/count_recursive.phpt @@ -4,6 +4,11 @@ count --GET-- --FILE-- --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