aboutsummaryrefslogtreecommitdiffhomepage
path: root/php/ext/google/protobuf/storage.c
diff options
context:
space:
mode:
authorGravatar Stanley Cheung <stanley.cheung@gmail.com>2016-10-04 13:39:51 -0700
committerGravatar Bo Yang <teboring@google.com>2016-10-10 11:44:54 -0700
commit1e5d4ba9387362ece026e78148f4ac5881537e64 (patch)
treeadf8537822e5e4982c0358bb218bf7992aceeb01 /php/ext/google/protobuf/storage.c
parentc96dd669a9da2b2c44c9c54313c61ee06791aa79 (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.c20
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);
}
}