diff options
author | Paul Yang <TeBoring@users.noreply.github.com> | 2018-07-12 12:34:18 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-12 12:34:18 -0700 |
commit | 22503a01722939385a7584c3b65f1c43dc5b2ef8 (patch) | |
tree | d6e5dbe9f854052d729dfd29f28929068be531e0 /php/ext/google/protobuf/protobuf.c | |
parent | e529d162838f747362c123ec10e87ebe3970c677 (diff) | |
download | protobuf-22503a01722939385a7584c3b65f1c43dc5b2ef8.tar.gz protobuf-22503a01722939385a7584c3b65f1c43dc5b2ef8.tar.bz2 protobuf-22503a01722939385a7584c3b65f1c43dc5b2ef8.zip |
fix for API change in PHP 7.3 (#4898)
Diffstat (limited to 'php/ext/google/protobuf/protobuf.c')
-rw-r--r-- | php/ext/google/protobuf/protobuf.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/php/ext/google/protobuf/protobuf.c b/php/ext/google/protobuf/protobuf.c index da00302f..19cc5efb 100644 --- a/php/ext/google/protobuf/protobuf.c +++ b/php/ext/google/protobuf/protobuf.c @@ -104,7 +104,7 @@ void add_def_obj(const void* def, PHP_PROTO_HASHTABLE_VALUE value) { #if PHP_MAJOR_VERSION < 7 Z_ADDREF_P(value); #else - ++GC_REFCOUNT(value); + GC_ADDREF(value); #endif add_to_table(upb_def_to_php_obj_map, def, value); } @@ -117,7 +117,7 @@ void add_ce_obj(const void* ce, PHP_PROTO_HASHTABLE_VALUE value) { #if PHP_MAJOR_VERSION < 7 Z_ADDREF_P(value); #else - ++GC_REFCOUNT(value); + GC_ADDREF(value); #endif add_to_table(ce_to_php_obj_map, ce, value); } @@ -134,7 +134,7 @@ void add_proto_obj(const char* proto, PHP_PROTO_HASHTABLE_VALUE value) { #if PHP_MAJOR_VERSION < 7 Z_ADDREF_P(value); #else - ++GC_REFCOUNT(value); + GC_ADDREF(value); #endif add_to_strtable(proto_to_php_obj_map, proto, strlen(proto), value); } @@ -235,7 +235,8 @@ static PHP_GSHUTDOWN_FUNCTION(protobuf) { static void php_proto_hashtable_descriptor_release(zval* value) { void* ptr = Z_PTR_P(value); zend_object* object = *(zend_object**)ptr; - if(--GC_REFCOUNT(object) == 0) { + GC_DELREF(object); + if(GC_REFCOUNT(object) == 0) { zend_objects_store_del(object); } efree(ptr); |