summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/c_client.py4
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)):