This was an inconsistency I noticed while testing the previous patches.
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- tools/widl/typegen.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c index 27855cc..9f62589 100644 --- a/tools/widl/typegen.c +++ b/tools/widl/typegen.c @@ -3248,6 +3248,7 @@ static unsigned int write_union_tfs(FILE *file, const attr_list_t *attrs, unsigned int nbranch = 0; type_t *deftype = NULL; short nodeftype = 0xffff; + unsigned int dummy; var_t *f;
if (processed(type) && @@ -3256,10 +3257,10 @@ static unsigned int write_union_tfs(FILE *file, const attr_list_t *attrs,
guard_rec(type);
- size = type_memsize(type); - fields = type_union_get_cases(type);
+ size = union_memsize(fields, &dummy); + if (fields) LIST_FOR_EACH_ENTRY(f, fields, var_t, entry) { expr_list_t *cases = get_attrp(f->attrs, ATTR_CASE);