# Recurse for structs, see pack() for validation
if field.type in self.parser.structs:
pack_name = self.parser.gen_prefix(safe_name(field.type)).upper()
- print(" {}_unpack(cl + {}, &values->{});".format(pack_name, field.start // 32, field.name))
+ print(" {}_unpack(cl + {}, &values->{});".format(pack_name, field.start // 8, field.name))
continue
convert = None
for field in self.group.fields:
if not type(field) is Field:
continue
- if field.default == None:
- continue
- default_fields.append(" .{} = {}".format(field.name, field.default))
+ if field.default is not None:
+ default_fields.append(" .{} = {}".format(field.name, field.default))
+ elif field.type in self.structs:
+ default_fields.append(" .{} = {{ {}_header }}".format(field.name, self.gen_prefix(safe_name(field.type.upper()))))
print('#define %-40s\\' % (name + '_header'))
print(", \\\n".join(default_fields))