doc: Mention reason for replacement on glibc/Linux systems.
[gnulib.git] / doc / posix-functions / vdprintf.texi
1 @node vdprintf
2 @section @code{vdprintf}
3 @findex vdprintf
4
5 POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/vdprintf.html}
6
7 Gnulib module: vdprintf or vdprintf-posix
8
9 Portability problems fixed by either Gnulib module @code{vdprintf} or @code{vdprintf-posix}:
10 @itemize
11 @item
12 This function is missing on some platforms:
13 MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11,
14 IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5.
15 @end itemize
16
17 Portability problems fixed by Gnulib module @code{vdprintf-posix}:
18 @itemize
19 @item
20 This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
21 @code{j}, @code{t}, @code{z}) on some platforms:
22 BeOS.
23 @item
24 printf of @samp{long double} numbers is unsupported on some platforms:
25 BeOS.
26 @item
27 printf of @samp{long double} numbers outside the IEEE 754 range produces
28 no meaningful results on some platforms:
29 glibc and others, on x86, x86_64, IA-64 CPUs.
30 @item
31 This function does not support the @samp{a} and @samp{A} directives on some
32 platforms:
33 glibc-2.3.6, BeOS.
34 @item
35 This function does not support the @samp{F} directive on some platforms:
36 BeOS.
37 @item
38 This function does not support format directives that access arguments in an
39 arbitrary order, such as @code{"%2$s"}, on some platforms:
40 BeOS.
41 @item
42 This function does not support precisions larger than 512 or 1024 in integer,
43 floating-point and pointer output on some platforms:
44 AIX 7.1, BeOS.
45 @end itemize
46
47 Portability problems not fixed by Gnulib:
48 @itemize
49 @item
50 When formatting an integer with grouping flag, this function inserts thousands
51 separators even in the "C" locale on some platforms:
52 NetBSD 5.1.
53 @item
54 On some platforms, this function does not set @code{errno} or the
55 stream error indicator on attempts to write to a read-only stream:
56 Cygwin 1.7.9.
57 @end itemize