summaryrefslogtreecommitdiff
path: root/ext/standard/array.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/array.c')
-rw-r--r--ext/standard/array.c29
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) {