From: Florian Weimer Date: Fri, 28 Nov 2025 15:50:04 +0000 (+0100) Subject: man/man3/sscanf.3: Document exact matching for %c X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a287558bf8e3ee713767a5c5ebb6ac17fe12d00a;p=thirdparty%2Fman-pages.git man/man3/sscanf.3: Document exact matching for %c The glibc manual has always documented this behavior, but the implementation differed, treating the field width as an upper limit. Signed-off-by: Florian Weimer Message-ID: Reviewed-by: Carlos O'Donell Signed-off-by: Alejandro Colomar --- diff --git a/man/man3/sscanf.3 b/man/man3/sscanf.3 index f0b248518..fa4cd0db7 100644 --- a/man/man3/sscanf.3 +++ b/man/man3/sscanf.3 @@ -172,6 +172,9 @@ and these discarded characters don't count toward the maximum field width. String input conversions store a terminating null byte (\[aq]\[rs]0\[aq]) to mark the end of the input; the maximum field width does not include this terminator. +Some conversions require exactly +the number of characters specified in the maximum field width, +or they fail. .TP \[bu] An optional @@ -480,6 +483,10 @@ and there must be enough room for all the characters (no terminating null byte is added). The usual skip of leading white space is suppressed. To skip white space first, use an explicit space in the format. +.\" glibc commit 2b16c76609350ec887d49afd4447743da38f7fab +This conversion only succeeds +if the number of characters specified by the maximum field +can be matched. .TP .B \&[ Matches a nonempty sequence of characters from the specified set of