Question about wide-char string literals

Alex Henrie alexhenrie24 at gmail.com
Sun Nov 15 20:05:06 CST 2020


On Fri, Nov 13, 2020 at 12:45 AM Stefan Dösinger
<stefandoesinger at gmail.com> wrote:
>
> > Am 13.11.2020 um 10:35 schrieb Alex Henrie <alexhenrie24 at gmail.com>:
>
> > Wouldn't that only be a problem if the module tried to call a wcs
> > function like wcslen, which we can't do right now anyway because wcs
> > functions expect an array of 4-byte characters and all the wide-char
> > functions in the Win32 API use 2-byte characters? Most system
> > functions don't use wchar_t at all and thus can be safely called no
> > matter how it's defined.
>
>
> Possibly, but it seems fragile and too high a cost to get L"" literals.
>
> You don't know what -fshort-wchar will do to the headers and inline functions in there. And having Wine's WCHAR and host wchar_t separate is a nice way to get compiler warnings if we accidentally mix them.

That makes sense, thanks for the explanation. I suppose that being
able to catch wchar_t errors at compile time is worth the ugly syntax.
I'm glad that we're moving away from it though.

-Alex



More information about the wine-devel mailing list