winebuild & (name, heap, init)

Patrik Stridvall ps at leissner.se
Wed Sep 11 05:32:30 CDT 2002


> On Wed, 11 Sep 2002, Dimitrie O. Paun wrote:
> [...]
> > Exactly! That's where I was driving at. But this depends on getting
> > stuff automatically out of .c file, because this way we can retain
> > the type information, which we now lose (except for strings). Once
> > we have the type information, the sky's the limit...
> 
> Hmm, for strings the spec files currently distinguish between input
> strings (str) and output strings (ptr). This cannot be extracted from
> the source files... unless we start using IN/OUT macros everywhere?

Or we could do as winapi_{check,extract} already supports:

BOOL WINAPI WaitCommEvent(
    HANDLE hFile,              /* [in] handle of comm port to wait for */
    LPDWORD lpdwEvents,        /* [out] event(s) that were detected */
    LPOVERLAPPED lpOverlapped) /* [in/out] for Asynchronous waiting */
{
    /* ... */
}

Alexandre rejected having in/out markers in the .spec files so I
never continued that project...

> Anyway, where it would be most useful is for Winelib 
> applications. So if
> we can support these then it would be great. 

Yes.

> But it wouldn't it be
> easier to hack the compiler?

Maybe. :-)

However the compiler must be really clever to 
determinte whether a pointer parameter is
IN, OUT or IN/OUT.

Futhermore it is logically impossible for stubbed functions
and for stubbed functions it would be really nice
to see the parameters wouldn't it?

So I guess we have to put it in the source code somewhere.
See my suggestion above.



More information about the wine-devel mailing list