diff options
Diffstat (limited to 'ext/standard/array.c')
-rw-r--r-- | ext/standard/array.c | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c index f0f7d7848b..701e10dff2 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -1459,7 +1459,7 @@ PHP_FUNCTION(extract) var_exists = 0; if (var_name) { - var_exists = zend_hash_exists_ind(&symbol_table->ht, var_name); + var_exists = zend_hash_exists_ind(symbol_table, var_name); } else if (extract_type == EXTR_PREFIX_ALL || extract_type == EXTR_PREFIX_INVALID) { zval num; @@ -1529,18 +1529,18 @@ PHP_FUNCTION(extract) ZVAL_MAKE_REF(entry); Z_ADDREF_P(entry); - if ((orig_var = zend_hash_find(&symbol_table->ht, Z_STR(final_name))) != NULL) { + if ((orig_var = zend_hash_find(symbol_table, Z_STR(final_name))) != NULL) { if (Z_TYPE_P(orig_var) == IS_INDIRECT) { orig_var = Z_INDIRECT_P(orig_var); } zval_ptr_dtor(orig_var); ZVAL_COPY_VALUE(orig_var, entry); } else { - zend_hash_update(&symbol_table->ht, Z_STR(final_name), entry); + zend_hash_update(symbol_table, Z_STR(final_name), entry); } } else { if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry); - zend_hash_update_ind(&symbol_table->ht, Z_STR(final_name), entry); + zend_hash_update_ind(symbol_table, Z_STR(final_name), entry); } count++; } @@ -1604,7 +1604,7 @@ PHP_FUNCTION(compact) } for (i=0; i<ZEND_NUM_ARGS(); i++) { - php_compact_var(&symbol_table->ht, return_value, &args[i]); + php_compact_var(symbol_table, return_value, &args[i]); } } /* }}} */ @@ -2028,7 +2028,7 @@ static void php_splice(HashTable *in_hash, int offset, int length, HashTable *re zend_hash_index_del(in_hash, p->h); } else { zend_hash_add_new(removed, p->key, entry); - if (in_hash == &EG(symbol_table).ht) { + if (in_hash == &EG(symbol_table)) { zend_delete_global_variable(p->key); } else { zend_hash_del(in_hash, p->key); @@ -2045,7 +2045,7 @@ static void php_splice(HashTable *in_hash, int offset, int length, HashTable *re if (p->key == NULL) { zend_hash_index_del(in_hash, p->h); } else { - if (in_hash == &EG(symbol_table).ht) { + if (in_hash == &EG(symbol_table)) { zend_delete_global_variable(p->key); } else { zend_hash_del(in_hash, p->key); @@ -2181,7 +2181,7 @@ PHP_FUNCTION(array_pop) /* Delete the last value */ if (p->key) { - if (Z_ARRVAL_P(stack) == &EG(symbol_table).ht) { + if (Z_ARRVAL_P(stack) == &EG(symbol_table)) { zend_delete_global_variable(p->key); } else { zend_hash_del(Z_ARRVAL_P(stack), p->key); @@ -2238,7 +2238,7 @@ PHP_FUNCTION(array_shift) /* Delete the first value */ if (p->key) { - if (Z_ARRVAL_P(stack) == &EG(symbol_table).ht) { + if (Z_ARRVAL_P(stack) == &EG(symbol_table)) { zend_delete_global_variable(p->key); } else { zend_hash_del(Z_ARRVAL_P(stack), p->key); @@ -3305,8 +3305,7 @@ PHP_FUNCTION(array_unique) php_set_compare_func(sort_type); - ZVAL_NEW_ARR(return_value); - zend_array_dup(Z_ARRVAL_P(return_value), Z_ARRVAL_P(array)); + ZVAL_ARR(return_value, zend_array_dup(Z_ARRVAL_P(array))); if (Z_ARRVAL_P(array)->nNumOfElements <= 1) { /* nothing to do */ return; @@ -3344,7 +3343,7 @@ PHP_FUNCTION(array_unique) if (p->key == NULL) { zend_hash_index_del(Z_ARRVAL_P(return_value), p->h); } else { - if (Z_ARRVAL_P(return_value) == &EG(symbol_table).ht) { + if (Z_ARRVAL_P(return_value) == &EG(symbol_table)) { zend_delete_global_variable(p->key); } else { zend_hash_del(Z_ARRVAL_P(return_value), p->key); @@ -3661,8 +3660,7 @@ static void php_array_intersect(INTERNAL_FUNCTION_PARAMETERS, int behavior, int } /* copy the argument array */ - ZVAL_NEW_ARR(return_value); - zend_array_dup(Z_ARRVAL_P(return_value), Z_ARRVAL(args[0])); + ZVAL_ARR(return_value, zend_array_dup(Z_ARRVAL(args[0]))); /* go through the lists and look for common values */ while (Z_TYPE(ptrs[0]->val) != IS_UNDEF) { @@ -4081,8 +4079,7 @@ static void php_array_diff(INTERNAL_FUNCTION_PARAMETERS, int behavior, int data_ } /* copy the argument array */ - ZVAL_NEW_ARR(return_value); - zend_array_dup(Z_ARRVAL_P(return_value), Z_ARRVAL(args[0])); + ZVAL_ARR(return_value, zend_array_dup(Z_ARRVAL(args[0]))); /* go through the lists and look for values of ptr[0] that are not in the others */ while (Z_TYPE(ptrs[0]->val) != IS_UNDEF) { |