Alexandre Julliard : widl: Take into account the alignment of conformant arrays to pad a structure.

Alexandre Julliard julliard at winehq.org
Mon Jul 13 07:54:51 CDT 2009


Module: wine
Branch: master
Commit: f21eab110127a27855db84b5a7d53f2c44984a0b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f21eab110127a27855db84b5a7d53f2c44984a0b

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Mon Jul 13 09:23:06 2009 +0200

widl: Take into account the alignment of conformant arrays to pad a structure.

---

 tools/widl/typegen.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c
index 3a5e2e5..d297eb2 100644
--- a/tools/widl/typegen.c
+++ b/tools/widl/typegen.c
@@ -2208,11 +2208,12 @@ static void write_struct_members(FILE *file, const type_t *type,
     if (fields) LIST_FOR_EACH_ENTRY( field, fields, const var_t, entry )
     {
         type_t *ft = field->type;
+        unsigned int align = 0;
+        unsigned int size = type_memsize(ft, &align);
+        if (salign < align) salign = align;
+
         if (!is_conformant_array(ft) || type_array_is_decl_as_ptr(ft))
         {
-            unsigned int align = 0;
-            unsigned int size = type_memsize(ft, &align);
-            if (salign < align) salign = align;
             if ((align - 1) & offset)
             {
                 unsigned char fc = 0;




More information about the wine-cvs mailing list