L"YES" is a NO NO!!!

Dmitry Timoshkov dmitry at baikal.ru
Thu Nov 1 00:59:24 CST 2001


"Francois Gouget" <fgouget at free.fr> wrote:

>    Wine cannot use Unicode strings literals. When you write L"YES" this
> is a 32bit Unicode string, not a 16bit unicode string. This means that
> when you pass it to lstrcmpiW, which expects 16bit Unicode strings like
> all the APIs in Wine, what it sees is this: "Y\0E\0S\0\0\0". And this is
> obviously different from "YES".
> 
> 
>    I guess it pays to check the warnings form time to time!

Sure. Why not to change L'\0' to a simple 0 in your patch then?

@@ -447,10 +451,10 @@
    switch (type) {
    case REG_SZ:
        data[9] = L'\0'; /* set end of string */
        ^^^^^^^^^^^^^^^

--
Dmitry.





More information about the wine-devel mailing list