On Mon, 22 May 2000, Dmitry Timoshkov wrote:
> James Sutherland <[EMAIL PROTECTED]> wrote:
>
> >> >Why try to make what must be a Unix function, invisible to the Win32 side,
> >> >look like a Win32 call? It cannot use the same resources or code anyway -
> >> >trying to make one look like the other will only lead to confusion.
> >>
> >> 1. FormatMessage() API should be (or already) implemented regardless
> >> used it somewhere in Wine or not.
> >
> >Yes - except it isn't a Win32 function we need.
>
> Wine implements Win32 API. ANY Win32 API could be used by ANY Win32
> application. Hence Wine NEED to implement nearly ANY Win32 API.
> FormatMessage is an API that uses nearly EVERY application written
> for WinNT.
The function I am talking about is NOT a Win32 API call. We need a
particular lookup function, which is similar to a particular Win32 API
call - but we CANNOT use that Win32 API call.
Implementing that API call, if not already done, is a good idea - but it
is completely separate to this issue; we cannot use that function, whether
implemented or not, in this case. We need a genuine Unix function. Keeping
that in mind, why make this Unix function call look like a Win32 one?!
> >> 2. Using Win32 API in Wine ensures that its implementation is bug free.
> >
> >No, it just makes any bug in that function have knockon effects on other,
> >apparently unrelated, areas.
>
> As soon as possible this bug will be found and fixed. Without that, Wine
> should wait for some app to appear to catch this bug.
Of course the bug will be fixed eventually - the point is, we should
ensure the path between the application making a Win32 function call and
that function call being passed to Unix is as short as possible.
> >> 3. Using of Win32 API functions in Wine shows its real, possibly
> >> undocumented behavior, and serves as good documentation.
> >
> >Except where the use is completely inappropriate :-)
>
> Everywhere in Wine it is appropriate and should encouraged.
In this case, it isn't even possible, let alone appropriate. We CANNOT use
a Win32 function here - it must be a Unix one. Keeping that in mind, why
make it look like a similar (but completely different) Win32 function?
James.