Thread (2 messages) 2 messages, 2 authors, 2021-03-30
STALE1890d

[PATCH] scanf.3: clarify that %n supports type modifiers

From: Alyssa Ross <hidden>
Date: 2021-03-28 21:56:21
Subsystem: the rest · Maintainer: Linus Torvalds

My initial reading of this was that type modifiers were probably not
supported.  But they are, and this is actually documented further up,
in the type modifiers documentation.  But to make it clearer, let's
copy the language that printf(3) has in its %n section.

Signed-off-by: Alyssa Ross <redacted>
---
I plan to submit a similar clarification to the glibc documentation.

 man3/scanf.3 | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/man3/scanf.3 b/man3/scanf.3
index f353f1d4d..8c0a1fa84 100644
--- a/man3/scanf.3
+++ b/man3/scanf.3
@@ -513,18 +513,20 @@ circumflex, in) set or when the field width runs out.
 .TP
 .B n
 Nothing is expected; instead, the number of characters consumed thus far
 from the input is stored through the next pointer, which must be a pointer
 to
-.IR int .
+.IR int ,
+or variant whose size matches the (optionally)
+supplied integer length modifier.
 This is
 .I not
 a conversion and does
 .I not
 increase the count returned by the function.
 The assignment can be suppressed with the
 .B *
 assignment-suppression character, but the effect on the
 return value is undefined.
 Therefore
 .B %*n
 conversions should not be used.
-- 
2.30.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help