vsnprintf
=========

POSIX specification:
 http://www.opengroup.org/onlinepubs/9699919799/functions/vsnprintf.html

Gnulib module: vsnprintf or vsnprintf-posix

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

  * This function is missing on some platforms: IRIX 5.3, OSF/1 4.0, Solaris 2.5.1.

  * This function does not support format directives that access arguments in an arbitrary order, such as "%2$s", on some platforms: NetBSD 3.0, mingw, MSVC 9, BeOS.

  * This function overwrites memory even when a size argument of 1 is passed on some platforms: Linux libc5, BeOS.

  * This function does not return a byte count as specified in C99 on some platforms: HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw, MSVC 9.

Portability problems fixed by Gnulib module vsnprintf-posix:

  * This function does not support size specifiers as in C99 (hh, ll, j, t, z) on some platforms: AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, MSVC 9, BeOS.

  * printf of long double numbers is unsupported on some platforms: mingw, MSVC 9, BeOS.

  * printf "%f", "%e", "%g" of Infinity and NaN yields an incorrect result on some platforms: AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9.

  * This function does not support the a and A directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.

  * This function does not support the F directive on some platforms: NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.x, mingw, MSVC 9, BeOS.

  * This function does not support the ls directive on some platforms: OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.

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

  * This function doesn't support the ' flag on some platforms: NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.

  * This function behaves incorrectly when a - flag and a negative width are specified together, on some platforms: HP-UX 10.20.

  * printf "%010f" of NaN and Infinity yields an incorrect result (padded with zeroes) on some platforms: MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin 1.5.x, mingw, MSVC 9.

  * This function does not support precisions larger than 512 or 1024 in integer, floating-point and pointer output on some platforms: AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS.

  * This function mishandles large floating point precisions (for example, formatting 1.0 with "%.511f") on some platforms: Solaris 10.

  * This function can crash in out-of-memory conditions on some platforms: MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0.

  * This function does not truncate the result as specified in C99 on some platforms: mingw, MSVC 9.

  * This function does not fully support the n directive on some platforms: HP-UX 11, mingw, MSVC 9.

  * This function overwrites memory even when a zero size argument is passed on some platforms: HP-UX 11, OSF/1 5.1.

Portability problems not fixed by Gnulib:

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