PHP-7.4 compat
[m6w6/ext-pq] / src / php_pq_object.c
index c7e04d63a52149b480eace075ae3d989d06c1d0b..b9ce32d5c9dac4bf8c2cac77eadbfc9049fe0891 100644 (file)
@@ -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) {