[ros-dev] [ros-diffs] [ekohl] 47071: [NEWINFLIB] - Change Unicode string functions from wcs* to str*W because glibc (Linux build) provides the wcs* functions but they use a wchar_t size of 32 bits instead of the required 16 bits. - Add a str*W to wcs* wrapper (infrosrtl.c) in order to use the wcs* function for the WIN32 build. - Add required str*W functions to the host library. ATTENTION: This might break the build bot although it has been tested on Windows and Linux!!!
mail at colinfinck.de
Tue May 4 16:20:46 CEST 2010
Eric Kohl <eric.kohl at t-online.de> wrote:
> The only changes to the source code are conversions from wcs* to str*W
> and from isw* to is*W. So for the host builds we will only use the *W
> functions if we are dealing with Unicode strings. The Win32 builds can
> map the *W funtions to the wcs* or isw* functions using the
> include/host/wcsfuncs.h header file.
> Can you agree with this change?
Sure, that's certainly the better way to do it, considering that we
already have Wine's "unicode" library for years.
Now you might as well get rid of the /include/host/wcsfuncs.h file
entirely and just use /include/reactos/wine/unicode.h. If I'm not
mistaken, this is the counterpart to /tools/unicode/wine/unicode.h,
which maps all functions defined there to the Win32 ones.
As most host libraries already have an #ifdef HOST...#else...#endif
block, we should be able to switch between both include files easily and
don't need the USE_HOST_WCSFUNCS define anymore.
More information about the Ros-dev