[PATCH 4/4] widl: Size of an encapsulated union doesn't include the tag.
Zebediah Figura
z.figura12 at gmail.com
Tue Apr 10 20:30:29 CDT 2018
This was an inconsistency I noticed while testing the previous patches.
Signed-off-by: Zebediah Figura <z.figura12 at 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);
--
2.7.4
More information about the wine-devel
mailing list