|
@@ -199,8 +199,9 @@ static void *startseq_handler(void* closure, const void* hd) {
|
|
|
// Handlers that append primitive values to a repeated field.
|
|
|
#define DEFINE_APPEND_HANDLER(type, ctype) \
|
|
|
static bool append##type##_handler(void* closure, const void* hd, \
|
|
|
- ctype val TSRMLS_DC) { \
|
|
|
+ ctype val) { \
|
|
|
zval* array = (zval*)closure; \
|
|
|
+ TSRMLS_FETCH(); \
|
|
|
RepeatedField* intern = \
|
|
|
(RepeatedField*)zend_object_store_get_object(array TSRMLS_CC); \
|
|
|
repeated_field_push_native(intern, &val TSRMLS_CC); \
|
|
@@ -218,8 +219,9 @@ DEFINE_APPEND_HANDLER(double, double)
|
|
|
// Appends a string to a repeated field.
|
|
|
static void* appendstr_handler(void *closure,
|
|
|
const void *hd,
|
|
|
- size_t size_hint TSRMLS_DC) {
|
|
|
+ size_t size_hint) {
|
|
|
zval* array = (zval*)closure;
|
|
|
+ TSRMLS_FETCH();
|
|
|
RepeatedField* intern =
|
|
|
(RepeatedField*)zend_object_store_get_object(array TSRMLS_CC);
|
|
|
|
|
@@ -234,8 +236,9 @@ static void* appendstr_handler(void *closure,
|
|
|
// Appends a 'bytes' string to a repeated field.
|
|
|
static void* appendbytes_handler(void *closure,
|
|
|
const void *hd,
|
|
|
- size_t size_hint TSRMLS_DC) {
|
|
|
+ size_t size_hint) {
|
|
|
zval* array = (zval*)closure;
|
|
|
+ TSRMLS_FETCH();
|
|
|
RepeatedField* intern =
|
|
|
(RepeatedField*)zend_object_store_get_object(array TSRMLS_CC);
|
|
|
|
|
@@ -296,8 +299,9 @@ static size_t stringdata_handler(void* closure, const void* hd,
|
|
|
}
|
|
|
|
|
|
// Appends a submessage to a repeated field.
|
|
|
-static void *appendsubmsg_handler(void *closure, const void *hd TSRMLS_DC) {
|
|
|
+static void *appendsubmsg_handler(void *closure, const void *hd) {
|
|
|
zval* array = (zval*)closure;
|
|
|
+ TSRMLS_FETCH();
|
|
|
RepeatedField* intern =
|
|
|
(RepeatedField*)zend_object_store_get_object(array TSRMLS_CC);
|
|
|
|
|
@@ -319,10 +323,11 @@ static void *appendsubmsg_handler(void *closure, const void *hd TSRMLS_DC) {
|
|
|
}
|
|
|
|
|
|
// Sets a non-repeated submessage field in a message.
|
|
|
-static void *submsg_handler(void *closure, const void *hd TSRMLS_DC) {
|
|
|
+static void *submsg_handler(void *closure, const void *hd) {
|
|
|
MessageHeader* msg = closure;
|
|
|
const submsg_handlerdata_t* submsgdata = hd;
|
|
|
zval* subdesc_php = get_def_obj((void*)submsgdata->md);
|
|
|
+ TSRMLS_FETCH();
|
|
|
Descriptor* subdesc = zend_object_store_get_object(subdesc_php TSRMLS_CC);
|
|
|
zend_class_entry* subklass = subdesc->klass;
|
|
|
zval* submsg_php;
|
|
@@ -465,11 +470,11 @@ static void *startmapentry_handler(void *closure, const void *hd) {
|
|
|
|
|
|
// Handler to end a map entry: inserts the value defined during the message into
|
|
|
// the map. This is the 'endmsg' handler on the map entry msgdef.
|
|
|
-static bool endmap_handler(void *closure, const void *hd, upb_status* s
|
|
|
- TSRMLS_DC) {
|
|
|
+static bool endmap_handler(void* closure, const void* hd, upb_status* s) {
|
|
|
map_parse_frame_t* frame = closure;
|
|
|
const map_handlerdata_t* mapdata = hd;
|
|
|
|
|
|
+ TSRMLS_FETCH();
|
|
|
Map *map = (Map *)zend_object_store_get_object(frame->map TSRMLS_CC);
|
|
|
|
|
|
const char* keyval = NULL;
|
|
@@ -575,12 +580,12 @@ static void *oneofbytes_handler(void *closure,
|
|
|
}
|
|
|
|
|
|
// Handler for a submessage field in a oneof.
|
|
|
-static void *oneofsubmsg_handler(void *closure,
|
|
|
- const void *hd TSRMLS_DC) {
|
|
|
+static void* oneofsubmsg_handler(void* closure, const void* hd) {
|
|
|
MessageHeader* msg = closure;
|
|
|
const oneof_handlerdata_t *oneofdata = hd;
|
|
|
uint32_t oldcase = DEREF(msg, oneofdata->case_ofs, uint32_t);
|
|
|
zval* subdesc_php = get_def_obj((void*)oneofdata->md);
|
|
|
+ TSRMLS_FETCH();
|
|
|
Descriptor* subdesc = zend_object_store_get_object(subdesc_php TSRMLS_CC);
|
|
|
zend_class_entry* subklass = subdesc->klass;
|
|
|
zval* submsg_php;
|
|
@@ -773,9 +778,10 @@ static void add_handlers_for_oneof_field(upb_handlers *h,
|
|
|
upb_handlerattr_uninit(&attr);
|
|
|
}
|
|
|
|
|
|
-static void add_handlers_for_message(const void *closure, upb_handlers *h
|
|
|
- TSRMLS_DC) {
|
|
|
+static void add_handlers_for_message(const void* closure,
|
|
|
+ upb_handlers* h) {
|
|
|
const upb_msgdef* msgdef = upb_handlers_msgdef(h);
|
|
|
+ TSRMLS_FETCH();
|
|
|
Descriptor* desc = (Descriptor*)zend_object_store_get_object(
|
|
|
get_def_obj((void*)msgdef) TSRMLS_CC);
|
|
|
upb_msg_field_iter i;
|