Dan Hipschman : widl: Check for user types when calculating buffer size.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Jun 26 07:12:02 CDT 2007


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

Author: Dan Hipschman <dsh at linux.ucla.edu>
Date:   Mon Jun 25 18:23:33 2007 -0700

widl: Check for user types when calculating buffer size.

---

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

diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c
index bb998fc..8dedd8d 100644
--- a/tools/widl/typegen.c
+++ b/tools/widl/typegen.c
@@ -2101,7 +2101,13 @@ static unsigned int get_required_buffer_size_type(
     size_t size = 0;
 
     *alignment = 0;
-    if (!is_ptr(type))
+    if (is_user_type(type))
+    {
+        const char *uname;
+        const type_t *utype = get_user_type(type, &uname);
+        size = get_required_buffer_size_type(utype, uname, alignment);
+    }
+    else if (!is_ptr(type))
     {
         switch (type->type)
         {




More information about the wine-cvs mailing list