diff options
Diffstat (limited to 'ext/spl/spl_heap.c')
-rw-r--r-- | ext/spl/spl_heap.c | 6 |
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); |