[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
*printf: support for msvc
From: |
Bruno Haible |
Subject: |
*printf: support for msvc |
Date: |
Sat, 10 Sep 2011 21:23:56 +0200 |
User-agent: |
KMail/1.13.6 (Linux/2.6.37.6-0.5-desktop; KDE/4.6.0; x86_64; ; ) |
This patch adds support for the MSVC 9 platform to the *printf modules.
Three things are special about this platform:
- It has more *printf bugs than any other platform.
- The test whether %n is supported crashes because of a "parameter
validation".
The crash pops up 6 dialog boxes and prevents 'configure' from continuing.
The fix is _not_ GL_NOCRASH but to install another kind of handler.
- This platform has vsnprintf() but no snprintf() function.
2011-09-10 Bruno Haible <address@hidden>
*printf: Add support for MSVC compiler.
* m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
handles the exception caused by the %n directive. When cross-compiling,
guess no on native Windows.
(gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
emulate it through vsnprintf.
* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
* doc/posix-functions/dprintf.texi: Update documentation regarding
MSVC 9.
* doc/posix-functions/fprintf.texi: Likewise.
* doc/posix-functions/printf.texi: Likewise.
* doc/posix-functions/snprintf.texi: Likewise.
* doc/posix-functions/sprintf.texi: Likewise.
* doc/posix-functions/swprintf.texi: Likewise.
* doc/posix-functions/vdprintf.texi: Likewise.
* doc/posix-functions/vfprintf.texi: Likewise.
* doc/posix-functions/vprintf.texi: Likewise.
* doc/posix-functions/vsnprintf.texi: Likewise.
* doc/posix-functions/vsprintf.texi: Likewise.
* doc/glibc-functions/asprintf.texi: Likewise.
* doc/glibc-functions/obstack_printf.texi: Likewise.
* doc/glibc-functions/obstack_vprintf.texi: Likewise.
* doc/glibc-functions/vasprintf.texi: Likewise.
--- m4/printf.m4.orig Sat Sep 10 21:06:36 2011
+++ m4/printf.m4 Sat Sep 10 21:01:27 2011
@@ -1,4 +1,4 @@
-# printf.m4 serial 43
+# printf.m4 serial 44
dnl Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -615,12 +615,27 @@
AC_RUN_IFELSE(
[AC_LANG_SOURCE([[
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
+#ifdef _MSC_VER
+/* See page about "Parameter Validation" on msdn.microsoft.com. */
+static void cdecl
+invalid_parameter_handler (const wchar_t *expression,
+ const wchar_t *function,
+ const wchar_t *file, unsigned int line,
+ uintptr_t dummy)
+{
+ exit (1);
+}
+#endif
static char fmtstring[10];
static char buf[100];
int main ()
{
int count = -1;
+#ifdef _MSC_VER
+ _set_invalid_parameter_handler (invalid_parameter_handler);
+#endif
/* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2)
support %n in format strings in read-only memory but not in writable
memory. */
@@ -636,7 +651,8 @@
[
changequote(,)dnl
case "$host_os" in
- *) gl_cv_func_printf_directive_n="guessing yes";;
+ mingw*) gl_cv_func_printf_directive_n="guessing no";;
+ *) gl_cv_func_printf_directive_n="guessing yes";;
esac
changequote([,])dnl
])
@@ -1076,6 +1092,7 @@
[
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_REQUIRE([gl_SNPRINTF_PRESENCE])
AC_CACHE_CHECK([whether snprintf truncates the result as in C99],
[gl_cv_func_snprintf_truncation_c99],
[
@@ -1083,11 +1100,25 @@
[AC_LANG_SOURCE([[
#include <stdio.h>
#include <string.h>
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
+# include <stdarg.h>
+static int my_snprintf (char *buf, int size, const char *format, ...)
+{
+ va_list args;
+ int ret;
+ va_start (args, format);
+ ret = vsnprintf (buf, size, format, args);
+ va_end (args);
+ return ret;
+}
+#endif
static char buf[100];
int main ()
{
strcpy (buf, "ABCDEF");
- snprintf (buf, 3, "%d %d", 4567, 89);
+ my_snprintf (buf, 3, "%d %d", 4567, 89);
if (memcmp (buf, "45\0DEF", 6) != 0)
return 1;
return 0;
@@ -1157,6 +1188,7 @@
[
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_REQUIRE([gl_SNPRINTF_PRESENCE])
AC_CACHE_CHECK([whether snprintf returns a byte count as in C99],
[gl_cv_func_snprintf_retval_c99],
[
@@ -1164,15 +1196,29 @@
[AC_LANG_SOURCE([[
#include <stdio.h>
#include <string.h>
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
+# include <stdarg.h>
+static int my_snprintf (char *buf, int size, const char *format, ...)
+{
+ va_list args;
+ int ret;
+ va_start (args, format);
+ ret = vsnprintf (buf, size, format, args);
+ va_end (args);
+ return ret;
+}
+#endif
static char buf[100];
int main ()
{
strcpy (buf, "ABCDEF");
- if (snprintf (buf, 3, "%d %d", 4567, 89) != 7)
+ if (my_snprintf (buf, 3, "%d %d", 4567, 89) != 7)
return 1;
- if (snprintf (buf, 0, "%d %d", 4567, 89) != 7)
+ if (my_snprintf (buf, 0, "%d %d", 4567, 89) != 7)
return 2;
- if (snprintf (NULL, 0, "%d %d", 4567, 89) != 7)
+ if (my_snprintf (NULL, 0, "%d %d", 4567, 89) != 7)
return 3;
return 0;
}]])],
@@ -1221,6 +1267,7 @@
[
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_REQUIRE([gl_SNPRINTF_PRESENCE])
AC_CACHE_CHECK([whether snprintf fully supports the 'n' directive],
[gl_cv_func_snprintf_directive_n],
[
@@ -1228,6 +1275,20 @@
[AC_LANG_SOURCE([[
#include <stdio.h>
#include <string.h>
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
+# include <stdarg.h>
+static int my_snprintf (char *buf, int size, const char *format, ...)
+{
+ va_list args;
+ int ret;
+ va_start (args, format);
+ ret = vsnprintf (buf, size, format, args);
+ va_end (args);
+ return ret;
+}
+#endif
static char fmtstring[10];
static char buf[100];
int main ()
@@ -1237,7 +1298,7 @@
support %n in format strings in read-only memory but not in writable
memory. */
strcpy (fmtstring, "%d %n");
- snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55);
+ my_snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55);
if (count != 6)
return 1;
return 0;
@@ -1289,16 +1350,31 @@
AC_DEFUN([gl_SNPRINTF_SIZE1],
[
AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([gl_SNPRINTF_PRESENCE])
AC_CACHE_CHECK([whether snprintf respects a size of 1],
[gl_cv_func_snprintf_size1],
[
AC_RUN_IFELSE(
[AC_LANG_SOURCE([[
#include <stdio.h>
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
+# include <stdarg.h>
+static int my_snprintf (char *buf, int size, const char *format, ...)
+{
+ va_list args;
+ int ret;
+ va_start (args, format);
+ ret = vsnprintf (buf, size, format, args);
+ va_end (args);
+ return ret;
+}
+#endif
int main()
{
static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' };
- snprintf (buf, 1, "%d", 12345);
+ my_snprintf (buf, 1, "%d", 12345);
return buf[1] != 'E';
}]])],
[gl_cv_func_snprintf_size1=yes],
@@ -1484,5 +1560,6 @@
dnl Haiku . . . # # # . # . . . . . ?
. . ? . . .
dnl BeOS # # . # # # . ? # . ? . # ?
. . ? . . .
dnl old mingw / msvcrt # # # # # # . . # # . # # ?
. # # # . .
+dnl MSVC 9 # # # # # # # . # # . # # ?
# # # # . .
dnl mingw 2009-2011 . # . # . . . . # # . . . ?
. . . . . .
dnl mingw-w64 2011 # # # # # # . . # # . # # ?
. # # # . .
--- m4/vsnprintf-posix.m4.orig Sat Sep 10 21:06:36 2011
+++ m4/vsnprintf-posix.m4 Sat Sep 10 20:48:56 2011
@@ -1,4 +1,4 @@
-# vsnprintf-posix.m4 serial 14
+# vsnprintf-posix.m4 serial 15
dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -23,7 +23,7 @@
gl_cv_func_vsnprintf_posix=no
AC_CHECK_FUNCS([vsnprintf])
if test $ac_cv_func_vsnprintf = yes; then
- dnl Assume that if vsnprintf() exists, snprintf() also exists.
+ dnl These tests use vsnprintf() if snprintf() does not exist.
gl_SNPRINTF_TRUNCATION_C99
gl_SNPRINTF_RETVAL_C99
gl_SNPRINTF_DIRECTIVE_N
--- doc/posix-functions/dprintf.texi.orig Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/dprintf.texi Sat Sep 10 11:44:23 2011
@@ -11,7 +11,7 @@
@item
This function is missing on many non-glibc platforms:
MacOS 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, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5,
BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix
3.5, BeOS.
@end itemize
Portability problems fixed by Gnulib module @code{dprintf-posix}:
--- doc/posix-functions/fprintf.texi.orig Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/fprintf.texi Sat Sep 10 20:34:23 2011
@@ -11,23 +11,26 @@
@item
This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
@code{j}, @code{t}, @code{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,
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw,
MSVC 9, BeOS.
@item
printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
@item
printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
@item
This function does not support the @samp{a} and @samp{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 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
@item
This function does not support the @samp{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, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
address@hidden
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
@item
This function does not support the @samp{ls} directive on some platforms:
OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -38,10 +41,10 @@
@item
This function does not support format directives that access arguments in an
arbitrary order, such as @code{"%2$s"}, on some platforms:
-NetBSD 3.0, mingw, BeOS.
+NetBSD 3.0, mingw, MSVC 9, BeOS.
@item
This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
@item
This function behaves incorrectly when a @samp{-} flag and a negative width
are specified together, on some platforms:
@@ -49,11 +52,11 @@
@item
printf @code{"%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 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
@item
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, BeOS.
+AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS.
@item
This function mishandles large floating point precisions
(for example, formatting 1.0 with @samp{"%.511f"})
@@ -70,7 +73,7 @@
When writing to a non-blocking pipe whose buffer is full, this function fails
with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some
platforms:
-mingw.
+mingw, MSVC 9.
@end itemize
Portability problems fixed by Gnulib module @code{stdio} or
@code{fprintf-posix}, together with module @code{sigpipe}:
@@ -78,7 +81,7 @@
@item
When writing to a pipe with no readers, this function fails, instead of
obeying the current @code{SIGPIPE} handler, on some platforms:
-mingw.
+mingw, MSVC 9.
@end itemize
Portability problems not fixed by Gnulib:
--- doc/posix-functions/printf.texi.orig Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/printf.texi Sat Sep 10 20:34:25 2011
@@ -11,23 +11,26 @@
@item
This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
@code{j}, @code{t}, @code{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,
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw,
MSVC 9, BeOS.
@item
printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
@item
printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
@item
This function does not support the @samp{a} and @samp{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 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
@item
This function does not support the @samp{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, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
address@hidden
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
@item
This function does not support the @samp{ls} directive on some platforms:
OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -38,10 +41,10 @@
@item
This function does not support format directives that access arguments in an
arbitrary order, such as @code{"%2$s"}, on some platforms:
-NetBSD 3.0, mingw, BeOS.
+NetBSD 3.0, mingw, MSVC 9, BeOS.
@item
This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
@item
This function behaves incorrectly when a @samp{-} flag and a negative width
are specified together, on some platforms:
@@ -49,11 +52,11 @@
@item
printf @code{"%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 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
@item
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, BeOS.
+AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS.
@item
This function mishandles large floating point precisions
(for example, formatting 1.0 with @samp{"%.511f"})
@@ -70,7 +73,7 @@
When writing to a non-blocking pipe whose buffer is full, this function fails
with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some
platforms:
-mingw.
+mingw, MSVC 9.
@end itemize
Portability problems fixed by Gnulib module @code{stdio} or
@code{printf-posix}, together with module @code{sigpipe}:
@@ -78,7 +81,7 @@
@item
When writing to a pipe with no readers, this function fails, instead of
obeying the current @code{SIGPIPE} handler, on some platforms:
-mingw.
+mingw, MSVC 9.
@end itemize
Portability problems not fixed by Gnulib:
--- doc/posix-functions/snprintf.texi.orig Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/snprintf.texi Sat Sep 10 20:36:02 2011
@@ -10,7 +10,7 @@
@itemize
@item
This function is missing on some platforms:
-IRIX 5.3, OSF/1 4.0, Solaris 2.5.1.
+IRIX 5.3, OSF/1 4.0, Solaris 2.5.1, MSVC 9.
@item
This function does not support format directives that access arguments in an
arbitrary order, such as @code{"%2$s"}, on some platforms:
@@ -30,23 +30,26 @@
@item
This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
@code{j}, @code{t}, @code{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,
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw,
MSVC 9, BeOS.
@item
printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
@item
printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
@item
This function does not support the @samp{a} and @samp{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 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
@item
This function does not support the @samp{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, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
address@hidden
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
@item
This function does not support the @samp{ls} directive on some platforms:
OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -56,7 +59,7 @@
Solaris 11 2010-11.
@item
This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
@item
This function behaves incorrectly when a @samp{-} flag and a negative width
are specified together, on some platforms:
@@ -64,11 +67,11 @@
@item
printf @code{"%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 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
@item
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, BeOS.
+AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS.
@item
This function mishandles large floating point precisions
(for example, formatting 1.0 with @samp{"%.511f"})
@@ -79,10 +82,10 @@
MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0.
@item
This function does not truncate the result as specified in C99 on some
platforms:
-mingw.
+mingw, MSVC 9.
@item
This function does not fully support the @samp{n} directive on some platforms:
-HP-UX 11, mingw.
+HP-UX 11, mingw, MSVC 9.
@item
This function overwrites memory even when a zero size argument is passed on
some
platforms:
--- doc/posix-functions/sprintf.texi.orig Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/sprintf.texi Sat Sep 10 20:34:29 2011
@@ -11,23 +11,26 @@
@item
This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
@code{j}, @code{t}, @code{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,
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw,
MSVC 9, BeOS.
@item
printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
@item
printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
@item
This function does not support the @samp{a} and @samp{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 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
@item
This function does not support the @samp{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, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
address@hidden
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
@item
This function does not support the @samp{ls} directive on some platforms:
OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -38,10 +41,10 @@
@item
This function does not support format directives that access arguments in an
arbitrary order, such as @code{"%2$s"}, on some platforms:
-NetBSD 3.0, mingw, BeOS.
+NetBSD 3.0, mingw, MSVC 9, BeOS.
@item
This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
@item
This function behaves incorrectly when a @samp{-} flag and a negative width
are specified together, on some platforms:
@@ -49,11 +52,11 @@
@item
printf @code{"%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 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
@item
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, BeOS.
+AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS.
@item
This function mishandles large floating point precisions
(for example, formatting 1.0 with @samp{"%.511f"})
--- doc/posix-functions/swprintf.texi.orig Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/swprintf.texi Sat Sep 10 20:34:32 2011
@@ -16,6 +16,9 @@
This function is missing on some platforms:
NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11.00, IRIX 6.5, Solaris 2.6,
Cygwin 1.5.x, Interix 3.5, BeOS.
@item
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
address@hidden
On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore
cannot
accommodate all Unicode characters.
@item
--- doc/posix-functions/vdprintf.texi.orig Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/vdprintf.texi Sat Sep 10 11:44:30 2011
@@ -11,7 +11,7 @@
@item
This function is missing on some platforms:
MacOS 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, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix
3.5.
@end itemize
Portability problems fixed by Gnulib module @code{vdprintf-posix}:
--- doc/posix-functions/vfprintf.texi.orig Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/vfprintf.texi Sat Sep 10 20:34:33 2011
@@ -11,23 +11,26 @@
@item
This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
@code{j}, @code{t}, @code{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,
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw,
MSVC 9, BeOS.
@item
printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
@item
printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
@item
This function does not support the @samp{a} and @samp{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 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
@item
This function does not support the @samp{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, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
address@hidden
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
@item
This function does not support the @samp{ls} directive on some platforms:
OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -38,10 +41,10 @@
@item
This function does not support format directives that access arguments in an
arbitrary order, such as @code{"%2$s"}, on some platforms:
-NetBSD 3.0, mingw, BeOS.
+NetBSD 3.0, mingw, MSVC 9, BeOS.
@item
This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
@item
This function behaves incorrectly when a @samp{-} flag and a negative width
are specified together, on some platforms:
@@ -49,11 +52,11 @@
@item
printf @code{"%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 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
@item
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, BeOS.
+AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS.
@item
This function mishandles large floating point precisions
(for example, formatting 1.0 with @samp{"%.511f"})
@@ -70,7 +73,7 @@
When writing to a non-blocking pipe whose buffer is full, this function fails
with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some
platforms:
-mingw.
+mingw, MSVC 9.
@end itemize
Portability problems fixed by Gnulib module @code{stdio} or
@code{vfprintf-posix}, together with module @code{sigpipe}:
@@ -78,7 +81,7 @@
@item
When writing to a pipe with no readers, this function fails, instead of
obeying the current @code{SIGPIPE} handler, on some platforms:
-mingw.
+mingw, MSVC 9.
@end itemize
Portability problems not fixed by Gnulib:
--- doc/posix-functions/vprintf.texi.orig Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/vprintf.texi Sat Sep 10 20:34:34 2011
@@ -11,23 +11,26 @@
@item
This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
@code{j}, @code{t}, @code{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,
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw,
MSVC 9, BeOS.
@item
printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
@item
printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
@item
This function does not support the @samp{a} and @samp{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 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
@item
This function does not support the @samp{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, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
address@hidden
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
@item
This function does not support the @samp{ls} directive on some platforms:
OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -38,10 +41,10 @@
@item
This function does not support format directives that access arguments in an
arbitrary order, such as @code{"%2$s"}, on some platforms:
-NetBSD 3.0, mingw, BeOS.
+NetBSD 3.0, mingw, MSVC 9, BeOS.
@item
This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
@item
This function behaves incorrectly when a @samp{-} flag and a negative width
are specified together, on some platforms:
@@ -49,11 +52,11 @@
@item
printf @code{"%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 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
@item
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, BeOS.
+AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS.
@item
This function mishandles large floating point precisions
(for example, formatting 1.0 with @samp{"%.511f"})
@@ -70,7 +73,7 @@
When writing to a non-blocking pipe whose buffer is full, this function fails
with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some
platforms:
-mingw.
+mingw, MSVC 9.
@end itemize
Portability problems fixed by Gnulib module @code{stdio} or
@code{vprintf-posix}, together with module @code{sigpipe}:
@@ -78,7 +81,7 @@
@item
When writing to a pipe with no readers, this function fails, instead of
obeying the current @code{SIGPIPE} handler, on some platforms:
-mingw.
+mingw, MSVC 9.
@end itemize
Portability problems not fixed by Gnulib:
--- doc/posix-functions/vsnprintf.texi.orig Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/vsnprintf.texi Sat Sep 10 20:34:35 2011
@@ -14,7 +14,7 @@
@item
This function does not support format directives that access arguments in an
arbitrary order, such as @code{"%2$s"}, on some platforms:
-NetBSD 3.0, mingw, BeOS.
+NetBSD 3.0, mingw, MSVC 9, BeOS.
@item
This function overwrites memory even when a size argument of 1 is passed on
some
platforms:
@@ -22,7 +22,7 @@
@item
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.
+HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw, MSVC 9.
@end itemize
Portability problems fixed by Gnulib module @code{vsnprintf-posix}:
@@ -30,23 +30,23 @@
@item
This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
@code{j}, @code{t}, @code{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,
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw,
MSVC 9, BeOS.
@item
printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
@item
printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
@item
This function does not support the @samp{a} and @samp{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 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
@item
This function does not support the @samp{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, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
@item
This function does not support the @samp{ls} directive on some platforms:
OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -56,7 +56,7 @@
Solaris 11 2010-11.
@item
This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
@item
This function behaves incorrectly when a @samp{-} flag and a negative width
are specified together, on some platforms:
@@ -64,11 +64,11 @@
@item
printf @code{"%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 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
@item
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, BeOS.
+AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS.
@item
This function mishandles large floating point precisions
(for example, formatting 1.0 with @samp{"%.511f"})
@@ -79,10 +79,10 @@
MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0.
@item
This function does not truncate the result as specified in C99 on some
platforms:
-mingw.
+mingw, MSVC 9.
@item
This function does not fully support the @samp{n} directive on some platforms:
-HP-UX 11, mingw.
+HP-UX 11, mingw, MSVC 9.
@item
This function overwrites memory even when a zero size argument is passed on
some
platforms:
--- doc/posix-functions/vsprintf.texi.orig Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/vsprintf.texi Sat Sep 10 20:34:36 2011
@@ -11,23 +11,26 @@
@item
This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
@code{j}, @code{t}, @code{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,
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw,
MSVC 9, BeOS.
@item
printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
@item
printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
@item
This function does not support the @samp{a} and @samp{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 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
@item
This function does not support the @samp{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, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
address@hidden
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
@item
This function does not support the @samp{ls} directive on some platforms:
OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -38,10 +41,10 @@
@item
This function does not support format directives that access arguments in an
arbitrary order, such as @code{"%2$s"}, on some platforms:
-NetBSD 3.0, mingw, BeOS.
+NetBSD 3.0, mingw, MSVC 9, BeOS.
@item
This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
@item
This function behaves incorrectly when a @samp{-} flag and a negative width
are specified together, on some platforms:
@@ -49,11 +52,11 @@
@item
printf @code{"%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 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
@item
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, BeOS.
+AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS.
@item
This function mishandles large floating point precisions
(for example, formatting 1.0 with @samp{"%.511f"})
--- doc/glibc-functions/asprintf.texi.orig Sat Sep 10 21:06:36 2011
+++ doc/glibc-functions/asprintf.texi Sat Sep 10 20:33:36 2011
@@ -8,7 +8,7 @@
@itemize
@item
This function is missing on some platforms:
-AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5.
+AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, Interix 3.5.
@end itemize
Portability problems fixed by Gnulib module @code{vasprintf-posix}:
--- doc/glibc-functions/obstack_printf.texi.orig Sat Sep 10 21:06:36 2011
+++ doc/glibc-functions/obstack_printf.texi Sat Sep 10 20:34:05 2011
@@ -9,7 +9,7 @@
@itemize
@item
This function is missing on all non-glibc platforms:
-MacOS 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, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5,
BeOS.
+MacOS 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, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9,
Interix 3.5, BeOS.
@end itemize
Portability problems fixed by Gnulib module @code{ostack-printf-posix}:
@@ -17,23 +17,26 @@
@item
This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
@code{j}, @code{t}, @code{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,
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw,
MSVC 9, BeOS.
@item
printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
@item
printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
@item
This function does not support the @samp{a} and @samp{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 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
@item
This function does not support the @samp{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, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
address@hidden
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
@item
This function does not support the @samp{ls} directive on some platforms:
OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -44,10 +47,10 @@
@item
This function does not support format directives that access arguments in an
arbitrary order, such as @code{"%2$s"}, on some platforms:
-NetBSD 3.0, mingw, BeOS.
+NetBSD 3.0, mingw, MSVC 9, BeOS.
@item
This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
@item
This function behaves incorrectly when a @samp{-} flag and a negative width
are specified together, on some platforms:
@@ -55,17 +58,17 @@
@item
printf @code{"%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 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
@item
This function does not support precisions larger than 512 or 1024 in integer,
floating-point and pointer output on some platforms:
-Solaris 10/x86, mingw, BeOS.
+Solaris 10/x86, mingw, MSVC 9, BeOS.
@item
This function can crash in out-of-memory conditions on some platforms:
MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0.
@item
This function does not fully support the @samp{n} directive on some platforms:
-HP-UX 11, mingw.
+HP-UX 11, mingw, MSVC 9.
@end itemize
Portability problems not fixed by Gnulib:
--- doc/glibc-functions/obstack_vprintf.texi.orig Sat Sep 10 21:06:36 2011
+++ doc/glibc-functions/obstack_vprintf.texi Sat Sep 10 20:34:07 2011
@@ -9,7 +9,7 @@
@itemize
@item
This function is missing on all non-glibc platforms:
-MacOS 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, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5,
BeOS.
+MacOS 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, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9,
Interix 3.5, BeOS.
@end itemize
Portability problems fixed by Gnulib module @code{ostack-printf-posix}:
@@ -17,23 +17,26 @@
@item
This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
@code{j}, @code{t}, @code{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,
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw,
MSVC 9, BeOS.
@item
printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
@item
printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
@item
This function does not support the @samp{a} and @samp{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 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
@item
This function does not support the @samp{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, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
address@hidden
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
@item
This function does not support the @samp{ls} directive on some platforms:
OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -44,10 +47,10 @@
@item
This function does not support format directives that access arguments in an
arbitrary order, such as @code{"%2$s"}, on some platforms:
-NetBSD 3.0, mingw, BeOS.
+NetBSD 3.0, mingw, MSVC 9, BeOS.
@item
This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
@item
This function behaves incorrectly when a @samp{-} flag and a negative width
are specified together, on some platforms:
@@ -55,17 +58,17 @@
@item
printf @code{"%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 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
@item
This function does not support precisions larger than 512 or 1024 in integer,
floating-point and pointer output on some platforms:
-Solaris 10/x86, mingw, BeOS.
+Solaris 10/x86, mingw, MSVC 9, BeOS.
@item
This function can crash in out-of-memory conditions on some platforms:
MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0.
@item
This function does not fully support the @samp{n} directive on some platforms:
-HP-UX 11, mingw.
+HP-UX 11, mingw, MSVC 9.
@end itemize
Portability problems not fixed by Gnulib:
--- doc/glibc-functions/vasprintf.texi.orig Sat Sep 10 21:06:36 2011
+++ doc/glibc-functions/vasprintf.texi Sat Sep 10 11:44:20 2011
@@ -8,7 +8,7 @@
@itemize
@item
This function is missing on some platforms:
-AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5.
+AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, Interix 3.5.
@end itemize
Portability problems fixed by Gnulib module @code{vasprintf-posix}:
--
In memoriam Sergei Tretyakov <http://en.wikipedia.org/wiki/Sergei_Tretyakov>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- *printf: support for msvc,
Bruno Haible <=