From: Ilia Alshanetsky Date: Tue, 22 Mar 2005 01:45:17 +0000 (+0000) Subject: Simplify argument checking code for array_combine(). X-Git-Tag: php-5.0.1b1~720 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b30d8beebf70a92cc69a3a627d04f1aff62c1f78;p=php Simplify argument checking code for array_combine(). --- diff --git a/ext/standard/array.c b/ext/standard/array.c index 1175b3303a..41b4b668c0 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -4366,17 +4366,16 @@ PHP_FUNCTION(array_combine) return; } - if (zend_hash_num_elements(Z_ARRVAL_P(keys)) == 0 || zend_hash_num_elements(Z_ARRVAL_P(values)) == 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Both parameters should have at least 1 element"); + if (zend_hash_num_elements(Z_ARRVAL_P(keys)) != zend_hash_num_elements(Z_ARRVAL_P(values))) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Both parameters should have equal number of elements"); RETURN_FALSE; } - - if (zend_hash_num_elements(Z_ARRVAL_P(keys)) != zend_hash_num_elements(Z_ARRVAL_P(values))) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Both parameters should have equal number of elements"); + if (!zend_hash_num_elements(Z_ARRVAL_P(keys))) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Both parameters should have at least 1 element"); RETURN_FALSE; } - + array_init(return_value); zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(keys), &pos_keys);