From: Nikita Popov Date: Wed, 29 Apr 2020 08:22:05 +0000 (+0200) Subject: Remove dead code X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dad51108600c6c5d1d19c7dfd55e5198258236d9;p=php Remove dead code As pointed out by Girgias, index is always non-NULL here. --- diff --git a/ext/standard/array.c b/ext/standard/array.c index d86177b5f9..09756b74e5 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -4199,50 +4199,46 @@ PHP_FUNCTION(array_column) /* Failure will leave keyval alone which will land us on the final else block below * which is to append the value as next_index */ - if (index) { - zval rv; - zval *keyval = array_column_fetch_prop(data, index, &rv); - - if (keyval) { - switch (Z_TYPE_P(keyval)) { - case IS_STRING: - zend_symtable_update(Z_ARRVAL_P(return_value), Z_STR_P(keyval), colval); - break; - case IS_LONG: - zend_hash_index_update(Z_ARRVAL_P(return_value), Z_LVAL_P(keyval), colval); - break; - case IS_OBJECT: - { - zend_string *tmp_key; - zend_string *key = zval_get_tmp_string(keyval, &tmp_key); - zend_symtable_update(Z_ARRVAL_P(return_value), key, colval); - zend_tmp_string_release(tmp_key); - break; - } - case IS_NULL: - zend_hash_update(Z_ARRVAL_P(return_value), ZSTR_EMPTY_ALLOC(), colval); - break; - case IS_DOUBLE: - zend_hash_index_update(Z_ARRVAL_P(return_value), - zend_dval_to_lval(Z_DVAL_P(keyval)), colval); - break; - case IS_TRUE: - zend_hash_index_update(Z_ARRVAL_P(return_value), 1, colval); - break; - case IS_FALSE: - zend_hash_index_update(Z_ARRVAL_P(return_value), 0, colval); - break; - case IS_RESOURCE: - zend_hash_index_update(Z_ARRVAL_P(return_value), Z_RES_HANDLE_P(keyval), colval); - break; - default: - zend_hash_next_index_insert(Z_ARRVAL_P(return_value), colval); + zval rv; + zval *keyval = array_column_fetch_prop(data, index, &rv); + + if (keyval) { + switch (Z_TYPE_P(keyval)) { + case IS_STRING: + zend_symtable_update(Z_ARRVAL_P(return_value), Z_STR_P(keyval), colval); + break; + case IS_LONG: + zend_hash_index_update(Z_ARRVAL_P(return_value), Z_LVAL_P(keyval), colval); + break; + case IS_OBJECT: + { + zend_string *tmp_key; + zend_string *key = zval_get_tmp_string(keyval, &tmp_key); + zend_symtable_update(Z_ARRVAL_P(return_value), key, colval); + zend_tmp_string_release(tmp_key); break; - } - zval_ptr_dtor(keyval); - } else { - zend_hash_next_index_insert(Z_ARRVAL_P(return_value), colval); + } + case IS_NULL: + zend_hash_update(Z_ARRVAL_P(return_value), ZSTR_EMPTY_ALLOC(), colval); + break; + case IS_DOUBLE: + zend_hash_index_update(Z_ARRVAL_P(return_value), + zend_dval_to_lval(Z_DVAL_P(keyval)), colval); + break; + case IS_TRUE: + zend_hash_index_update(Z_ARRVAL_P(return_value), 1, colval); + break; + case IS_FALSE: + zend_hash_index_update(Z_ARRVAL_P(return_value), 0, colval); + break; + case IS_RESOURCE: + zend_hash_index_update(Z_ARRVAL_P(return_value), Z_RES_HANDLE_P(keyval), colval); + break; + default: + zend_hash_next_index_insert(Z_ARRVAL_P(return_value), colval); + break; } + zval_ptr_dtor(keyval); } else { zend_hash_next_index_insert(Z_ARRVAL_P(return_value), colval); }