]> granicus.if.org Git - php/commitdiff
Save one condition
authorXinchen Hui <laruence@php.net>
Thu, 15 Jan 2015 10:41:25 +0000 (18:41 +0800)
committerXinchen Hui <laruence@php.net>
Thu, 15 Jan 2015 10:41:25 +0000 (18:41 +0800)
ext/standard/array.c

index 0b50cf3cb02d45e9b5d6344ace2b6984312cddc4..fcf901cc5a4289de6037bbe9ce195c7fcfcbde46 100644 (file)
@@ -2408,13 +2408,14 @@ PHP_FUNCTION(array_slice)
                length = num_in - offset;
        }
 
-       /* Initialize returned array */
-       array_init_size(return_value, length > 0 ? (uint32_t)length : 0);
-
        if (length <= 0) {
+               array_init(return_value);
                return;
        }
 
+       /* Initialize returned array */
+       array_init_size(return_value, (uint32_t)length);
+
        /* Start at the beginning and go until we hit offset */
        pos = 0;
        ZEND_HASH_FOREACH_KEY_VAL(Z_ARRVAL_P(input), num_key, string_key, entry) {