Package: manpages-dev
Version: 2.62-1
Severity: normal
The scanf man page says:
ยท An optional decimal integer which specifies the maximum field
width. Reading of characters stops either when this maximum is
reached or when a non-matching character is found, whichever
happens first. Most conversions discard initial whitespace
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
characters (the exceptions are noted below), and these discarded
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
characters don't count towards the maximum field width. String
input conversions store a null terminator ('\0') to mark the end
of the input; the maximum field width does not include this ter-
minator.
and
The following conversion specifiers are available:
% Matches a literal '%'. That is, %% in the format string matches
a single input '%' character. No conversion is done, and
^^^^^^^^^^^^^^^^^^^^^^^
assignment does not occur.
So, one may think that since %% doesn't do a conversion, initial
whitespace is not discarded. But this is incorrect: initial whitespace
is discarded (as required by the ISO C standard). The C standard has
better wording ("conversion specification" instead of "conversion"):
[...] A conversion specification is executed in the following steps:
^^^^^^^^^^^^^
Input white-space characters (as specified by the isspace function)
are skipped, unless the specification includes a [, c, or n specifier.
The scanf man page should probably say: "... Most conversion
specifications discard initial whitespace characters ..."
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.18-4-686-bigmem (SMP w/2 CPU cores)
Locale: LANG=POSIX, LC_CTYPE=en_US.ISO8859-1 (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/bash
Versions of packages manpages-dev depends on:
ii manpages 2.62-1 Manual pages about using a GNU/Lin
manpages-dev recommends no packages.
-- no debconf information