[PATCH] manual: clarify that scanf %n supports type modifiers
Arjun Shankar
arjun@redhat.com
Tue Mar 30 18:36:08 GMT 2021
Hi Alyssa,
> Subject: [PATCH] manual: clarify that scanf %n supports type modifiers
>
> My initial reading of the %n documentation was that it didn't support
> type conversions, because it only mentioned int*.
>
> Corresponding man-pages patch:
> https://lore.kernel.org/linux-man/20210328215509.31666-1-hi@alyssa.is/
Thanks for the patch!
I verified that %n in formatted input does indeed support type modifiers.
> manual/stdio.texi | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/manual/stdio.texi b/manual/stdio.texi
> index c48e3e692f..6ff1806281 100644
> --- a/manual/stdio.texi
> +++ b/manual/stdio.texi
> @@ -3620,10 +3620,10 @@ function (@pxref{Parsing of Integers}) with the
> appropriate value
> The @samp{%X} conversion is identical to the @samp{%x} conversion. They
> both permit either uppercase or lowercase letters to be used as digits.
>
> -The default type of the corresponding argument for the @code{%d} and
> -@code{%i} conversions is @code{int *}, and @code{unsigned int *} for the
> -other integer conversions. You can use the following type modifiers to
> -specify other sizes of integer:
> +The default type of the corresponding argument for the @code{%d},
> +@code{%i}, and @code{%n} conversions is @code{int *}, and
> +@code{unsigned int *} for the other integer conversions. You can use
> +the following type modifiers to specify other sizes of integer:
OK.
> @table @samp
> @item hh
> @@ -3888,7 +3888,8 @@ The resulting pointer value is not guaranteed to be
> valid if it was not
> originally written during the same program execution that reads it in.
>
> The @samp{%n} conversion produces the number of characters read so far
> -by this call. The corresponding argument should be of type @code{int *}.
> +by this call. The corresponding argument should be of type @code{int *},
> +unless a type modifier is in effect (@pxref{Numeric Input Conversions}).
> This conversion works in the same way as the @samp{%n} conversion for
> @code{printf}; see @ref{Other Output Conversions}, for an example.
OK. Links back to the numeric input conversions change above.
The generated info seems to render fine as well. This looks good to me.
Reviewed-by: Arjun Shankar <arjun@redhat.com>
I think this is small enough to qualify for an exemption from the
copyright assignment requirement. I'll push this to master in a bit.
Cheers,
Arjun
More information about the Libc-alpha
mailing list