diff options
-rw-r--r-- | src/c_client.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/c_client.py b/src/c_client.py index 2aba741..a6f8edd 100644 --- a/src/c_client.py +++ b/src/c_client.py @@ -1787,12 +1787,12 @@ def _c_complex(self): for field in struct_fields: length = len(field.c_field_type) # account for '*' pointer_spec - if not field.type.fixed_size(): + if not field.type.fixed_size() and not self.is_union: length += 1 maxtypelen = max(maxtypelen, length) def _c_complex_field(self, field, space=''): - if (field.type.fixed_size() or + if (field.type.fixed_size() or self.is_union or # in case of switch with switch children, don't make the field a pointer # necessary for unserialize to work (self.is_switch and field.type.is_switch)): |