SAL_W32 sal_Unicode

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

SAL_W32 sal_Unicode

stephan.bergmann
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: [hidden email]
For additional commands, e-mail: [hidden email]