projects
/
m6w6
/
ext-pq
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Fix empty arrays parsing
[m6w6/ext-pq]
/
src
/
php_pq_object.c
diff --git
a/src/php_pq_object.c
b/src/php_pq_object.c
index c7e04d63a52149b480eace075ae3d989d06c1d0b..b9ce32d5c9dac4bf8c2cac77eadbfc9049fe0891 100644
(file)
--- 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;
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);
++GC_REFCOUNT(&obj->zo);
+#endif
}
void php_pq_object_delref(void *o)
}
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;
}
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;
{
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);
}
} 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) {
}
void php_pq_object_prophandler_dtor(zval *zv) {