poll tests: Avoid test failure on BSD and Solaris systems.
[gnulib.git] / doc / posix-functions / mbsrtowcs.texi
blob03c9983ef9902bebf96ec8f4655e722a30fb162d
1 @node mbsrtowcs
2 @section @code{mbsrtowcs}
3 @findex mbsrtowcs
5 POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/mbsrtowcs.html}
7 Gnulib module: mbsrtowcs
9 Portability problems fixed by Gnulib:
10 @itemize
11 @item
12 This function is missing on some platforms:
13 Minix 3.1.8, HP-UX 11.00, IRIX 6.5, mingw.
14 @item
15 This function does not work on some platforms:
16 HP-UX 11, Solaris 11 2010-11.
17 @item
18 This function does not work when the first argument is NULL on some platforms:
19 mingw.
20 @end itemize
22 Portability problems not fixed by Gnulib:
23 @itemize
24 @item
25 On Windows and 32-bit AIX platforms, @code{wchar_t} is a 16-bit type and
26 therefore cannot accommodate all Unicode characters.
27 However, the Gnulib function @code{mbsrtoc32s}, provided by Gnulib module
28 @code{mbsrtoc32s}, operates on 32-bit wide characters and therefore does not
29 have this limitation.
30 @item
31 The specification is not clear about whether this function should update the
32 conversion state when the first argument (the destination pointer) is NULL.
33 The glibc implementation does not update the state in this case; the Mac OS X
34 and FreeBSD implementations do.
35 For portability, when passing a NULL destination argument, it is best to pass
36 a pointer to a temporary copy of the conversion state.
37 @end itemize