WINE_UNICODE_TEXT
Francois Gouget
fgouget at free.fr
Thu Feb 1 04:36:52 CST 2001
On Thu, 1 Feb 2001, Francois Gouget wrote:
> On Mon, 29 Jan 2001, Jon Griffiths wrote:
>
> > Hi,
> >
> > This patch removes the warnings from the WINE_UNICODE_TEXT macro and fixes an
> > obscure (read: uninvestgated) bug where the value of WCHAR('x') + 1 is off by
>
> You mean WINE_UNICODE_TEXT('x')+1 != WINE_UNICODE_TEXT('y') ?
> I see why this could happen: gcc considers that the expression is of
> type WCHAR* and since sizeof(WCHAR)==2, it just adds two.
Actually I suspect there's another problem with your patch. since you
cast the return values to void*, WINE_UNICODE_TEXT("abc")+1 will very
likely be wrong. Also I believe void* arithmetic is a gcc extension.
Do you have a lot of places where your application uses
WINE_UNICODE_TEXT with a character? I just know of a <10 places in the
MFC. Alexandre suggests we just handle the string case and let it fail
at compile time if it is used with a char. It may be better than
compiling fine but doing incorrect things.
--
Francois Gouget fgouget at free.fr http://fgouget.free.fr/
Any sufficiently advanced Operating System is indistinguishable from Linux
More information about the wine-devel
mailing list