summaryrefslogtreecommitdiff
path: root/ext/spl/spl_heap.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl/spl_heap.c')
-rw-r--r--ext/spl/spl_heap.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/ext/spl/spl_heap.c b/ext/spl/spl_heap.c
index 52b4371f57..90d78db6ee 100644
--- a/ext/spl/spl_heap.c
+++ b/ext/spl/spl_heap.c
@@ -616,7 +616,7 @@ SPL_METHOD(SplHeap, insert)
return;
}
- SEPARATE_ARG_IF_REF(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
spl_ptr_heap_insert(intern->heap, value, getThis() TSRMLS_CC);
RETURN_TRUE;
@@ -670,8 +670,8 @@ SPL_METHOD(SplPriorityQueue, insert)
return;
}
- SEPARATE_ARG_IF_REF(data);
- SEPARATE_ARG_IF_REF(priority);
+ if (Z_REFCOUNTED_P(data)) Z_ADDREF_P(data);
+ if (Z_REFCOUNTED_P(priority)) Z_ADDREF_P(priority);
array_init(&elem);
add_assoc_zval_ex(&elem, "data", sizeof("data") - 1, data);