Question about libwine_unicode functions and others in WINE

Robert Shearman R.J.Shearman at warwick.ac.uk
Wed Dec 3 01:55:27 CST 2003


> -----Original Message-----
> From: Alexandre Julliard [mailto:julliard at winehq.com]
> Sent: 02 December 2003 19:26
> To: Robert Shearman
> Cc: Steven Edwards; wine-devel at winehq.org
> Subject: Re: Question about libwine_unicode functions and others in WINE
>
> "Robert Shearman" <R.J.Shearman at warwick.ac.uk> writes:
>
> > However, couldn't we just replace the libwine_unicode function with an
> > appropriate (well-documented) kernel32 string function:
> > It may add a little bit of overhead in Wine (which we could
> possibly solve
> > by adding #define's for e.g. lstrcatW -> strcatW), but it would
> solve the
> > problem.
>
> Yes, this is something I've been wanting to do for a long time. Not so
> much because of libwine_unicode, but because a lot of places use the
> lstr* functions for no reason, and this slows things down quite a
> bit. The problem is that some places do rely on the exception handling
> that the lstr* functions do, so we'd first need to go through every
> call to check whether we need to add an exception handler in the
> caller.

Just another thought: why don't we use the wcscat, wcslen, wcscpy functions
from ntdll? AFAIK, they are completely compatible with the msvcrt ones with
the same names. The lstr* calls that don't need exception handling can link
to these instead. On other platforms ReactOS, Windows, etc they can link
with either msvcrt or ntdll, whichever is more convenient. Is this what
Steven originally suggested?

Rob





More information about the wine-devel mailing list