diff options
author | Eric Blake <eblake@redhat.com> | 2018-11-29 13:33:28 -0600 |
---|---|---|
committer | Eric Blake <eblake@redhat.com> | 2018-11-29 13:33:28 -0600 |
commit | c924151b02efef817e03a1622f08ac3061a529a1 (patch) | |
tree | 8c892e5e1343ea3180c40b3894a85411bed4a5ab /doc/posix-functions/vprintf.texi | |
parent | b9eef0b0b6ec6baf73b0d7618593dc0f0b5d78e5 (diff) | |
download | gnulib-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.texi | 4 |
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. |