Module: wine Branch: master Commit: 8d0f8da652c7547af1348a06b1e690c1502eec30 URL: https://source.winehq.org/git/wine.git/?a=commit;h=8d0f8da652c7547af1348a06b...
Author: Dmitry Timoshkov dmitry@baikal.ru Date: Fri Feb 14 20:56:12 2020 +0800
widl: Generate name for a tagless union.
Otherwise widl crashes while generating a typelib for
typedef struct _s { int type; union { int field; } u; } s;
Signed-off-by: Dmitry Timoshkov dmitry@baikal.ru Signed-off-by: Alexandre Julliard julliard@winehq.org
---
tools/widl/write_msft.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/tools/widl/write_msft.c b/tools/widl/write_msft.c index 3a11d2ddd7..b70057eda1 100644 --- a/tools/widl/write_msft.c +++ b/tools/widl/write_msft.c @@ -2208,6 +2208,9 @@ static void add_union_typeinfo(msft_typelib_t *typelib, type_t *tunion) if (-1 < tunion->typelib_idx) return;
+ if (!tunion->name) + tunion->name = gen_name(); + tunion->typelib_idx = typelib->typelib_header.nrtypeinfos; msft_typeinfo = create_msft_typeinfo(typelib, TKIND_UNION, tunion->name, tunion->attrs); msft_typeinfo->typeinfo->size = 0;