In sal/types.h, sal_Unicode is a typedef for wchar_t if SAL_W32 is defined, and for sal_uInt16 otherwise. What shall be achieved by this is that sal_Unicode is an unsigned integral 16 bit type on all platforms. I am now wondering why the special case for SAL_W32 is necessary:

The way we use the MS Compiler on Windows, wchar_t there is a typedef for unisgned short, the same type that sal_uInt16 is a typedef for.

Also, SAL_W32 can be defined for other platforms than MS Compiler on Windows, for example it is also defined for the mingw port. However, on that platform wchar_t is not compatible with unsigned short (it seems; also see issue 53572).

So, since the way sal_Unicode is declared in sal/types.h probably needs to be fixed anyway (see mingw problem), I would propose to fix it so that sal_Unicode is a typedef for sal_uInt16 on all platforms, unless someone knows a reason why it should be different for MS Compiler on Windows.

-Stephan

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

  • [dev] SAL_W32 ... Stephan Bergmann
    • Re: [dev]... Tino Rachui - Sun Germany - Development - Software Engineer

Reply via email to