[3/3] rpcrt4/tests: Add a couple of tests for marshalling an array of strings. Resend.

Dmitry Timoshkov dmitry at baikal.ru
Fri Mar 28 06:41:21 CDT 2014

Alexandre Julliard <julliard at winehq.org> wrote:

> >  dlls/rpcrt4/tests/server.c   | 55 ++++++++++++++++++++++++++++++++++++++++++++
> >  dlls/rpcrt4/tests/server.idl |  5 ++++
> >  2 files changed, 60 insertions(+)
> It doesn't work on 64-bit:

There are several problems in widl that lead to the failures:
1. widl generates array descriptions very differently from midl
2. widl generates negative offsets in the pointer layout descriptions,
while negative offsets apparently work for some things, it looks like
rpcrt4 in windows doesn't support them for arrays of strings, and
the test crashes. Manually changing offsets in generated by widl
*_c.c and *_s.c files and moving pointer layout descriptions before
the array descriptions (currently that's reversed) makes the test
run under Windows.
3. for win64 widl generates FC_BOGUS_ARRAY descriptions which are
very different from midl generated code, and the test crashes under
Windows. Probably FC_BOGUS_ARRAY case is not very well tested,
especially in 64-bit build.

I have the patches for #1 and #2, but they need more testing, and
#3 will require quite a bit of additional effort.

I'd appreciate any help with these problems.


More information about the wine-devel mailing list