Dmitry Timoshkov : widl: If a variable doesn't have a name provide an autogenerated one.

Alexandre Julliard julliard at winehq.org
Mon Feb 17 15:42:15 CST 2020


Module: wine
Branch: master
Commit: 2c501aa7502dbedeef9517dea408deb4a73c5811
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=2c501aa7502dbedeef9517dea408deb4a73c5811

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Fri Feb 14 20:56:21 2020 +0800

widl: If a variable doesn't have a name provide an autogenerated one.

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>
Signed-off-by: Alexandre Julliard <julliard at 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 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;




More information about the wine-cvs mailing list