mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-13 09:47:35 +08:00
microcdr and IDL: remove field ordering, causing improper serialization/deserialization
This commit is contained in:
@@ -131,14 +131,10 @@ def add_deserialize_functions(fields, scope_name):
|
||||
add_deserialize_functions(children_fields, name + ('[%d].' %i))
|
||||
|
||||
def add_code_to_serialize():
|
||||
# sort fields (using a stable sort) as in the declaration of the type
|
||||
sorted_fields = sorted(spec.parsed_fields(), key=sizeof_field_type, reverse=True)
|
||||
add_serialize_functions(sorted_fields, "")
|
||||
add_serialize_functions(spec.parsed_fields(), "")
|
||||
|
||||
def add_code_to_deserialize():
|
||||
# sort fields (using a stable sort) as in the declaration of the type
|
||||
sorted_fields = sorted(spec.parsed_fields(), key=sizeof_field_type, reverse=True)
|
||||
add_deserialize_functions(sorted_fields, "")
|
||||
add_deserialize_functions(spec.parsed_fields(), "")
|
||||
}@
|
||||
|
||||
void serialize_@(topic_name)(ucdrBuffer *writer, const struct @(uorb_struct) *input, char *output, uint32_t *length)
|
||||
|
||||
Reference in New Issue
Block a user