[PATCH 2/3] widl: If a variable doesn't have a name provide an autogenerated one.

Dmitry Timoshkov dmitry at baikal.ru
Fri Feb 14 06:56:21 CST 2020


Otherwise widl crashes while generating a typelib for a structure
with an embedded anonymous union:

typedef struct _s
{
    int type;
    union
    {
        int f;
    };
} s;

Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
---
 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 b70057eda1..7cfe9e146c 100644
--- a/tools/widl/write_msft.c
+++ b/tools/widl/write_msft.c
@@ -1630,6 +1630,9 @@ static HRESULT add_var_desc(msft_typeinfo_t *typeinfo, UINT index, var_t* var)
     unsigned char *namedata;
     int var_num = (typeinfo->typeinfo->cElement >> 16) & 0xffff;
 
+    if (!var->name)
+        var->name = gen_name();
+
     chat("add_var_desc(%d, %s)\n", index, var->name);
 
     id = 0x40000000 + index;
-- 
2.20.1




More information about the wine-devel mailing list