summaryrefslogtreecommitdiff
path: root/doc/posix-functions/vprintf.texi
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2018-11-29 13:33:28 -0600
committerEric Blake <eblake@redhat.com>2018-11-29 13:33:28 -0600
commitc924151b02efef817e03a1622f08ac3061a529a1 (patch)
tree8c892e5e1343ea3180c40b3894a85411bed4a5ab /doc/posix-functions/vprintf.texi
parentb9eef0b0b6ec6baf73b0d7618593dc0f0b5d78e5 (diff)
downloadgnulib-c924151b02efef817e03a1622f08ac3061a529a1.tar.gz
docs: mention printf %m considerations
gcc -Wformat does NOT flag printf("%m") on a BSD system, even though it prints only "m" instead of the desired GNU/Linux behavior of the current errno value (you have to use -Wpedantic to flag it, but that's a rather heavy hammer). Still, it's easy enough (even if verbose) to write out strerror() usage directly, to the point that gnulib will probably never provide a module to guarantee %m everywhere. See also https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88270 * doc/glibc-functions/asprintf.texi (asprintf): Document that %m is not portable, and is easy enough to work around. * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise. * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise. * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise. * doc/posix-functions/dprintf.texi (dprintf): Likewise. * doc/posix-functions/fprintf.texi (fprintf): Likewise. * doc/posix-functions/fwprintf.texi (fwprintf): Likewise. * doc/posix-functions/printf.texi (printf): Likewise. * doc/posix-functions/snprintf.texi (snprintf): Likewise. * doc/posix-functions/sprintf.texi (sprintf): Likewise. * doc/posix-functions/swprintf.texi (swprintf): Likewise. * doc/posix-functions/vdprintf.texi (vdprintf): Likewise. * doc/posix-functions/vfprintf.texi (vfprintf): Likewise. * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise. * doc/posix-functions/vprintf.texi (vprintf): Likewise. * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise. * doc/posix-functions/vsprintf.texi (vsprintf): Likewise. * doc/posix-functions/vswprintf.texi (vswprintf): Likewise. * doc/posix-functions/vwprintf.texi (vwprintf): Likewise. * doc/posix-functions/wprintf.texi (wprintf): Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'doc/posix-functions/vprintf.texi')
-rw-r--r--doc/posix-functions/vprintf.texi4
1 files changed, 4 insertions, 0 deletions
diff --git a/doc/posix-functions/vprintf.texi b/doc/posix-functions/vprintf.texi
index 7d8874748d..8c922480bc 100644
--- a/doc/posix-functions/vprintf.texi
+++ b/doc/posix-functions/vprintf.texi
@@ -91,6 +91,10 @@ mingw, MSVC 14.
Portability problems not fixed by Gnulib:
@itemize
@item
+The @code{%m} directive is not portable, use @code{%s} mapped to an
+argument of @code{strerror(errno)} (or a version of @code{strerror_r})
+instead.
+@item
Formatting noncanonical @samp{long double} numbers produces
nonmeaningful results on some platforms:
glibc and others, on x86, x86_64, IA-64 CPUs.