Rob Shearman : widl: Always write out pointers if the structure is a pointer structure. Pointer are optional for conformant varying structures.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Jun 20 09:13:41 CDT 2007


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

Author: Rob Shearman <rob at codeweavers.com>
Date:   Tue Jun 19 12:11:05 2007 +0100

widl: Always write out pointers if the structure is a pointer structure. Pointer are optional for conformant varying structures.

---

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

diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c
index 300a881..823f6e5 100644
--- a/tools/widl/typegen.c
+++ b/tools/widl/typegen.c
@@ -1624,7 +1624,9 @@ static size_t write_struct_tfs(FILE *file, type_t *type,
         print_file(file, 2, "NdrFcShort(0x0),\t/* FIXME: pointer stuff */\n");
         *tfsoff += 2;
     }
-    else if (has_pointers)
+    else if ((type->type == RPC_FC_PSTRUCT) ||
+             (type->type == RPC_FC_CPSTRUCT) ||
+             (type->type == RPC_FC_CVSTRUCT && has_pointers))
     {
         print_file(file, 2, "0x%x, /* FC_PP */\n", RPC_FC_PP);
         print_file(file, 2, "0x%x, /* FC_PAD */\n", RPC_FC_PAD);




More information about the wine-cvs mailing list