From 8c51807ba50f45e2ffc00f0e8874bbb79f07a430 Mon Sep 17 00:00:00 2001 From: Huw Davies Date: Fri, 21 Jan 2005 17:04:00 +0000 Subject: [PATCH] Bit 0x0200 always appears to be set in the typeinfo's typekind/alignment member. --- tools/widl/write_msft.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/widl/write_msft.c b/tools/widl/write_msft.c index 0aa8660b33a..29cfe2ec12e 100644 --- a/tools/widl/write_msft.c +++ b/tools/widl/write_msft.c @@ -1346,8 +1346,7 @@ static void set_alignment( if (!cbAlignment) return; if (cbAlignment > 16) return; - typeinfo->typeinfo->typekind &= ~0xffc0; - typeinfo->typeinfo->typekind |= cbAlignment << 6; + typeinfo->typeinfo->typekind &= ~0xf800; /* FIXME: There's probably some way to simplify this. */ switch (typeinfo->typeinfo->typekind & 15) { @@ -1529,7 +1528,7 @@ static msft_typeinfo_t *create_msft_typeinfo(msft_typelib_t *typelib, typelib_en msft_typeinfo->typeinfo = typeinfo; - typeinfo->typekind |= entry->kind | 0x20; + typeinfo->typekind |= entry->kind | 0x220; set_alignment(msft_typeinfo, 4); switch (entry->kind) {