vdprintf
========

POSIX specification:
 https://pubs.opengroup.org/onlinepubs/9699919799/functions/vdprintf.html

Gnulib module: vdprintf or vdprintf-posix

Portability problems fixed by either Gnulib module vdprintf or vdprintf-posix:

  * This function is missing on some platforms: Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11.3, Cygwin 1.5.x, mingw, MSVC 14.

Portability problems fixed by Gnulib module vdprintf-posix:

  * printf "%f", "%e", "%g" of Infinity and NaN yields an incorrect result on some platforms: Solaris 11.4.

  * This function does not support the a and A directives on some platforms: glibc-2.3.6, Solaris 11.4.

  * This function does not support the n directive on some platforms: glibc when used with _FORTIFY_SOURCE >= 2 (set by default on Ubuntu), macOS 11.1.

  * This function does not support precisions in the ls directive correctly on some platforms: Solaris 11.4.

  * printf "%010f" of NaN and Infinity yields an incorrect result (padded with zeroes, or wrong capitalization) on some platforms: Solaris 11.4.

  * This function does not support precisions larger than 512 or 1024 in integer, floating-point and pointer output on some platforms: AIX 7.1.

Portability problems not fixed by Gnulib:

  * The %m directive is not portable, use %s mapped to an argument of strerror(errno) (or a version of strerror_r) instead.

  * Formatting noncanonical long double numbers produces nonmeaningful results on some platforms: glibc and others, on x86, x86_64, IA-64 CPUs.

  * When formatting an integer with grouping flag, this function inserts thousands separators even in the "C" locale on some platforms: NetBSD 5.1.

  * On some platforms, this function does not set errno or the stream error indicator on attempts to write to a read-only stream: Cygwin 1.7.9.