On Mon, Aug 06, 2007 at 04:24:39PM +0200, Herv? Poussineau wrote:
> Hi Dan,
>
> I'm using Wine IDL compiler to compile some .idl files, and I found a
> regression in WIDL between 0.9.38 and 0.9.39.
> As you are the one who mostly changed WIDL between these releases, I'm
> sending you this email ;)
>
> My .idl file looks like this one:
>
> [
> uuid (00112233-4455-6677-8899-AABBCCDDEEFF),
> version(1.0),
> pointer_default(unique)
> #ifndef __midl
> ,explicit_handle
> #endif
> ]
> interface MyInterface
> {
> unsigned long GetRoot(handle_t BindingHandle,
> [out, string, size_is(Length)] wchar_t
> *RootString,
> [in] unsigned long Length);
> }
>
> Of course, Microsoft MIDL accepts to compile this file, so WIDL should too.
> WIDL 0.9.38 was working, but WIDL 0.9.39 gives the following error:
> error: write_string_tfs: Unimplemented for type 0x1b of name: RootString
>
> Type 0x1b is RPC_FC_CARRAY, but write_string_tfs function only supports
> RPC_FC_BYTE, RPC_FC_CHAR and RPC_FC_WCHAR.
>
> Any idea how to fix it, or am I forced to keep WIDL 0.9.38?
>
> Thanks in advance,
>
> Hervé
Hi Hervé.
Thanks for the bug report. The code related to this problem was being
worked on quite a bit recently, so I don't doubt there may be a
regression. I may be a bit slow to look at this since I'm in the middle
of working on something else at the moment, hence I'm CC-ing the list so
other people can see that the problem exists.
Dan