diff options
author | Stanley Cheung <stanley.cheung@gmail.com> | 2016-10-04 13:39:51 -0700 |
---|---|---|
committer | Bo Yang <teboring@google.com> | 2016-10-10 11:44:54 -0700 |
commit | 1e5d4ba9387362ece026e78148f4ac5881537e64 (patch) | |
tree | adf8537822e5e4982c0358bb218bf7992aceeb01 /php/ext/google/protobuf/storage.c | |
parent | c96dd669a9da2b2c44c9c54313c61ee06791aa79 (diff) |
PHP: fix ZTS tsrm_ls errors (#2189)
* PHP: fix ZTS tsrm_ls errors
* Fix a few more macros
Diffstat (limited to 'php/ext/google/protobuf/storage.c')
-rw-r--r-- | php/ext/google/protobuf/storage.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/php/ext/google/protobuf/storage.c b/php/ext/google/protobuf/storage.c index 7423552b..56497f62 100644 --- a/php/ext/google/protobuf/storage.c +++ b/php/ext/google/protobuf/storage.c @@ -56,7 +56,7 @@ size_t native_slot_size(upb_fieldtype_t type) { } bool native_slot_set(upb_fieldtype_t type, const zend_class_entry* klass, - void* memory, zval* value) { + void* memory, zval* value TSRMLS_DC) { switch (type) { case UPB_TYPE_STRING: case UPB_TYPE_BYTES: { @@ -295,7 +295,7 @@ const upb_fielddef* map_entry_value(const upb_msgdef* msgdef) { return value_field; } -const zend_class_entry* field_type_class(const upb_fielddef* field) { +const zend_class_entry* field_type_class(const upb_fielddef* field TSRMLS_DC) { if (upb_fielddef_type(field) == UPB_TYPE_MESSAGE) { zval* desc_php = get_def_obj(upb_fielddef_subdef(field)); Descriptor* desc = zend_object_store_get_object(desc_php TSRMLS_CC); @@ -435,7 +435,8 @@ void free_layout(MessageLayout* layout) { FREE(layout); } -void layout_init(MessageLayout* layout, void* storage, zval** properties_table) { +void layout_init(MessageLayout* layout, void* storage, zval** properties_table + TSRMLS_DC) { int i; upb_msg_field_iter it; for (upb_msg_field_begin(&it, layout->msgdef), i = 0; !upb_msg_field_done(&it); @@ -451,11 +452,12 @@ void layout_init(MessageLayout* layout, void* storage, zval** properties_table) *oneof_case = ONEOF_CASE_NONE; } else if (is_map_field(field)) { zval_ptr_dtor(property_ptr); - map_field_create_with_type(map_field_type, field, property_ptr); + map_field_create_with_type(map_field_type, field, property_ptr TSRMLS_CC); DEREF(memory, zval**) = property_ptr; } else if (upb_fielddef_label(field) == UPB_LABEL_REPEATED) { zval_ptr_dtor(property_ptr); - repeated_field_create_with_type(repeated_field_type, field, property_ptr); + repeated_field_create_with_type(repeated_field_type, field, property_ptr + TSRMLS_CC); DEREF(memory, zval**) = property_ptr; } else { native_slot_init(upb_fielddef_type(field), memory, property_ptr); @@ -501,8 +503,8 @@ zval* layout_get(MessageLayout* layout, const void* storage, } } -void layout_set(MessageLayout* layout, MessageHeader* header, const upb_fielddef* field, - zval* val) { +void layout_set(MessageLayout* layout, MessageHeader* header, + const upb_fielddef* field, zval* val TSRMLS_DC) { void* storage = message_data(header); void* memory = slot_memory(layout, storage, field); uint32_t* oneof_case = slot_oneof_case(layout, storage, field); @@ -535,7 +537,7 @@ void layout_set(MessageLayout* layout, MessageHeader* header, const upb_fielddef break; } - native_slot_set(type, ce, memory, val); + native_slot_set(type, ce, memory, val TSRMLS_CC); *oneof_case = upb_fielddef_number(field); } else if (upb_fielddef_label(field) == UPB_LABEL_REPEATED) { // Works for both repeated and map fields @@ -554,6 +556,6 @@ void layout_set(MessageLayout* layout, MessageHeader* header, const upb_fielddef Descriptor* desc = zend_object_store_get_object(desc_php TSRMLS_CC); ce = desc->klass; } - native_slot_set(type, ce, value_memory(field, memory), val); + native_slot_set(type, ce, value_memory(field, memory), val TSRMLS_CC); } } |