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