[2/2] widl: Represent arrays with type_t; fix lots of array stuff

Dan Hipschman dsh at linux.ucla.edu
Mon Jun 4 20:31:58 CDT 2007


This patch represents arrays using the type_t structure, instead of as
a list stored in the var_t structure.  It's similar in concept to the
patch I sent a while ago making all pointers represented by type_t,
but a little trickier (arrays are harder).  It makes the code vastly
simpler in places, and adds quite a bit of functionality.  It also
makes a lot more functionality, such as conformant and variant
structures, much easier to implement, but as the patch was already
quite large, I quit once I got the basic stuff working.

This adds tests for multidimensional arrays (needed by dcom.idl),
conformant and varying arrays, and arrays of structures.  The tests
pass on XP and in wine.

The patch is gzipped and attached.

---
 dlls/rpcrt4/tests/server.c   |   84 +++++-
 dlls/rpcrt4/tests/server.idl |    4 +
 tools/widl/client.c          |    7 +-
 tools/widl/header.c          |  139 ++++-----
 tools/widl/header.h          |   18 +-
 tools/widl/parser.y          |  176 +++++++++--
 tools/widl/proxy.c           |    8 +-
 tools/widl/server.c          |    2 +-
 tools/widl/typegen.c         |  670 ++++++++++++++++--------------------------
 tools/widl/typegen.h         |    1 +
 tools/widl/typelib.c         |   18 ++
 tools/widl/widltypes.h       |    5 +-
 tools/widl/write_msft.c      |   79 +++---
 13 files changed, 631 insertions(+), 580 deletions(-)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Represent-arrays-as-types-fix-lots-of-array-bugs.patch.gz
Type: application/octet-stream
Size: 16035 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20070604/c3dfb2b5/0002-Represent-arrays-as-types-fix-lots-of-array-bugs.patch-0001.obj


More information about the wine-patches mailing list