summaryrefslogtreecommitdiff
path: root/ext/spl/spl_array.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl/spl_array.c')
-rw-r--r--ext/spl/spl_array.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/ext/spl/spl_array.c b/ext/spl/spl_array.c
index 672f40e469..f1c49f4db4 100644
--- a/ext/spl/spl_array.c
+++ b/ext/spl/spl_array.c
@@ -100,7 +100,7 @@ static inline HashTable **spl_array_get_hash_table_ptr(spl_array_object* intern)
rebuild_object_properties(obj);
} else if (GC_REFCOUNT(obj->properties) > 1) {
if (EXPECTED(!(GC_FLAGS(obj->properties) & IS_ARRAY_IMMUTABLE))) {
- GC_REFCOUNT(obj->properties)--;
+ GC_DELREF(obj->properties);
}
obj->properties = zend_array_dup(obj->properties);
}
@@ -1473,7 +1473,7 @@ static void spl_array_method(INTERNAL_FUNCTION_PARAMETERS, char *fname, int fnam
ZVAL_NEW_EMPTY_REF(&params[0]);
ZVAL_ARR(Z_REFVAL(params[0]), aht);
- GC_REFCOUNT(aht)++;
+ GC_ADDREF(aht);
if (!use_arg) {
intern->nApplyCount++;
@@ -1507,7 +1507,7 @@ exit:
if (aht != new_ht) {
spl_array_replace_hash_table(intern, new_ht);
} else {
- GC_REFCOUNT(aht)--;
+ GC_DELREF(aht);
}
efree(Z_REF(params[0]));
zend_string_free(Z_STR(function_name));