printf.3: Document %#m as strerrorname_np(errno)
Checks
Commit Message
Reported-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Cc: libc-alpha@sourceware.org
Cc: Florian Weimer <fweimer@redhat.com>
Cc: Michael Kerrisk <mtk.manpages@gmail.com>
---
Hi Adhemerval and Michael,
First of all, happy new solar year! :)
I added documentation for "%#m". Could you confirm I got the
glibc version correct, and also have a look at the changes?
Thanks for the report!
Cheers,
Alex
man3/printf.3 | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
Comments
On 22/12/2021 15:15, Alejandro Colomar wrote:
> Reported-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
> Cc: libc-alpha@sourceware.org
> Cc: Florian Weimer <fweimer@redhat.com>
> Cc: Michael Kerrisk <mtk.manpages@gmail.com>
> ---
>
> Hi Adhemerval and Michael,
>
> First of all, happy new solar year! :)
>
> I added documentation for "%#m". Could you confirm I got the
> glibc version correct, and also have a look at the changes?
>
> Thanks for the report!
>
> Cheers,
> Alex
>
> man3/printf.3 | 23 ++++++++++++++++++++++-
> 1 file changed, 22 insertions(+), 1 deletion(-)
>
> diff --git a/man3/printf.3 b/man3/printf.3
> index 4fa1f11f3..1e2bac4df 100644
> --- a/man3/printf.3
> +++ b/man3/printf.3
> @@ -301,6 +301,17 @@ and
> .B G
> conversions, trailing zeros are not removed from the result as they would
> otherwise be.
> +For
> +.BR m ,
> +if
> +.I errno
> +contains a valid error code,
> +the output of
> +.I strerrorname_np(errno)
> +is printed;
> +otherwise, the value stored in
> +.I errno
> +is printed as a decimal number.
> For other conversions, the result is undefined.
> .TP
> .B \&0
> @@ -853,7 +864,10 @@ any flags, a field width, or a precision.
> .B m
> (Glibc extension; supported by uClibc and musl.)
> Print output of
> -.IR strerror(errno) .
> +.I strerror(errno)
> +(or
> +.I strerrorname_np(errno)
> +in the alternate form).
> No argument is required.
> .TP
> .B %
Maybe add that strerrorname_np is only support on glibc, since on the same
section it states that 'm' is a Glibc extension supported by uClibc and
musl.
The rest look ok, thanks.
> @@ -974,6 +988,13 @@ and conversion characters \fBa\fP and \fBA\fP.
> .PP
> glibc 2.2 adds the conversion character \fBF\fP with C99 semantics,
> and the flag character \fBI\fP.
> +.PP
> +glibc 2.35 gives a meaning to the alternate form
> +.RB ( # )
> +of the
> +.B m
> +conversion specifier, that is
> +.IR %#m .
> .SH NOTES
> Some programs imprudently rely on code such as the following
> .PP
On 12/22/21 19:58, Adhemerval Zanella wrote:
>> @@ -853,7 +864,10 @@ any flags, a field width, or a precision.
>> .B m
>> (Glibc extension; supported by uClibc and musl.)
>> Print output of
>> -.IR strerror(errno) .
>> +.I strerror(errno)
>> +(or
>> +.I strerrorname_np(errno)
>> +in the alternate form).
>> No argument is required.
>> .TP
>> .B %
>
> Maybe add that strerrorname_np is only support on glibc, since on the same
> section it states that 'm' is a Glibc extension supported by uClibc and
> musl.
This is the main documentation for %m in the man pages, and it differs
from the printf(3) CONFORMING TO (C89 and POSIX.1-2001). However,
there's only a mention to strerrorname_np(3), whose main (man-pages)
documentation is in strerror(3), and there it's already noted that it's
a glibc extension, so I think that's enough.
>
> The rest look ok, thanks.
Thank you :)
Cheers,
Alex
@@ -301,6 +301,17 @@ and
.B G
conversions, trailing zeros are not removed from the result as they would
otherwise be.
+For
+.BR m ,
+if
+.I errno
+contains a valid error code,
+the output of
+.I strerrorname_np(errno)
+is printed;
+otherwise, the value stored in
+.I errno
+is printed as a decimal number.
For other conversions, the result is undefined.
.TP
.B \&0
@@ -853,7 +864,10 @@ any flags, a field width, or a precision.
.B m
(Glibc extension; supported by uClibc and musl.)
Print output of
-.IR strerror(errno) .
+.I strerror(errno)
+(or
+.I strerrorname_np(errno)
+in the alternate form).
No argument is required.
.TP
.B %
@@ -974,6 +988,13 @@ and conversion characters \fBa\fP and \fBA\fP.
.PP
glibc 2.2 adds the conversion character \fBF\fP with C99 semantics,
and the flag character \fBI\fP.
+.PP
+glibc 2.35 gives a meaning to the alternate form
+.RB ( # )
+of the
+.B m
+conversion specifier, that is
+.IR %#m .
.SH NOTES
Some programs imprudently rely on code such as the following
.PP