X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-pq;a=blobdiff_plain;f=src%2Fphp_pq_object.c;h=b9ce32d5c9dac4bf8c2cac77eadbfc9049fe0891;hp=c7e04d63a52149b480eace075ae3d989d06c1d0b;hb=7ebb278e7854e8dd7c4fd6c0363531642d135676;hpb=d607a4e70c0684d4b144203dfce40d7d69db6f3f diff --git a/src/php_pq_object.c b/src/php_pq_object.c index c7e04d6..b9ce32d 100644 --- a/src/php_pq_object.c +++ b/src/php_pq_object.c @@ -59,7 +59,11 @@ void php_pq_object_to_zval_no_addref(void *o, zval *zv) void php_pq_object_addref(void *o) { php_pq_object_t *obj = o; +#ifdef GC_ADDREF + GC_ADDREF(&obj->zo); +#else ++GC_REFCOUNT(&obj->zo); +#endif } void php_pq_object_delref(void *o) @@ -199,7 +203,7 @@ zval *php_pq_object_read_prop(zval *object, zval *member, int type, void **cache return return_value; } -void php_pq_object_write_prop(zval *object, zval *member, zval *value, void **cache_slot) +php_pq_object_write_prop_t php_pq_object_write_prop(zval *object, zval *member, zval *value, void **cache_slot) { php_pq_object_t *obj = PHP_PQ_OBJ(object, NULL); php_pq_object_prophandler_t *handler; @@ -214,6 +218,14 @@ void php_pq_object_write_prop(zval *object, zval *member, zval *value, void **ca } else { zend_get_std_object_handlers()->write_property(object, member, value, cache_slot); } +#if PHP_VERSION_ID >= 70400 + return value; +#endif +} + +zval *php_pq_object_get_prop_ptr_null(zval *object, zval *member, int type, void **cache_slot) +{ + return NULL; } void php_pq_object_prophandler_dtor(zval *zv) {