vsnprintf
=========

POSIX specification: http://www.opengroup.org/susv3xsh/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: OSF/1 4.0, Solaris 2.5.1.

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 2006, mingw, BeOS.

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

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

  * This function does not support the a and A directives on some platforms: glibc-2.3.6, MacOS X 10.3, NetBSD 3.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, 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, mingw, BeOS.

  * 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, BeOS.

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

  * printf "%010f" of NaN and Infinity yields an incorrect result (padded with zeroes) on some platforms: MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 2007, mingw.

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

  * 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, mingw.

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

  * 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: