History log of /seL4-test-master/projects/musllibc/src/stdio/vfwscanf.c
Revision Date Author Comments
# 23252db4 02-Apr-2018 Kent McLeod <Kent.Mcleod@data61.csiro.au>

RISC-V: Fix core type definitions and sizes


# 2435f79d 30-Jul-2016 Hesham Almatary <hesham.almatary@data61.csiro.au>

RISC-V port


# 536c6d5a 12-Jun-2015 Rich Felker <dalias@aerifal.cx>

fix idiom for setting stdio stream orientation to wide

the old idiom, f->mode |= f->mode+1, was adapted from the idiom for
setting byte orientation, f->mode |= f->mode-1, but the adaptation was
incorrect. unless the stream was alreasdy set byte-oriented, this code
incremented f->mode each time it was executed, which would eventually
lead to overflow. it could be fixed by changing it to f->mode |= 1,
but upcoming changes will require slightly more work at the time of
wide orientation, so it makes sense to just call fwide. as an
optimization in the single-character functions, fwide is only called
if the stream is not already wide-oriented.


# 984c25b7 01-Jul-2014 Rich Felker <dalias@aerifal.cx>

fix failure of wide printf/scanf functions to set wide orientation

in some cases, these functions internally call a byte-based input or
output function before calling getwc/putwc, so they cannot rely on the
latter to set the orientation.


# 57174444 11-Dec-2013 Szabolcs Nagy <nsz@port70.net>

include cleanups: remove unused headers and add feature test macros


# f0328a56 31-Aug-2013 Rich Felker <dalias@aerifal.cx>

fix invalid %m format crash in wide scanf variants

the wide variant was missed in the previous commit.


# 1d92cddb 19-Jul-2013 Rich Felker <dalias@aerifal.cx>

fix uninitialized/stale use of alloc (%m modifier) flag in scanf

for conversion specifiers, alloc is always set when the specifier is
parsed. however, if scanf stops due to mismatching literal text,
either an uninitialized (if no conversions have been performed yet) or
stale (from the previous conversion) of the flag will be used,
possibly causing an invalid pointer to be passed to free when the
function returns.


# ef550786 22-Jun-2013 Rich Felker <dalias@aerifal.cx>

fix scanf %c conversion wrongly storing a terminating null byte

this seems to have been a regression from the refactoring which added
the 'm' modifier.


# e039db27 05-Jun-2013 Rich Felker <dalias@aerifal.cx>

implement 'm' modifier for wide scanf variants


# de80ea9f 05-Jun-2013 Rich Felker <dalias@aerifal.cx>

refactor wide-char scanf string handling

this brings the wide version of the code into alignment with the
byte-based version, in preparation for adding support for the m
(malloc) modifier.


# 14f0272e 06-Apr-2013 Isaac Dunham <idunham@lavabit.com>

Add ABI compatability aliases.

GNU used several extensions that were incompatible with C99 and POSIX,
so they used alternate names for the standard functions.

The result is that we need these to run standards-conformant programs
that were linked with glibc.


# 400c5e5c 06-Sep-2012 Rich Felker <dalias@aerifal.cx>

use restrict everywhere it's required by c99 and/or posix 2008

to deal with the fact that the public headers may be used with pre-c99
compilers, __restrict is used in place of restrict, and defined
appropriately for any supported compiler. we also avoid the form
[restrict] since older versions of gcc rejected it due to a bug in the
original c99 standard, and instead use the form *restrict.


# bdeb184c 17-Apr-2012 Rich Felker <dalias@aerifal.cx>

fix wide scanf's handling of input failure on %c, and simplify %[


# a12aa291 17-Apr-2012 Rich Felker <dalias@aerifal.cx>

fix failure to distinguish input/match failure in wide %[ scanf

this also includes a related fix for vswscanf's read function, which
was returning a spurious (uninitialized) character for empty strings.


# 9ab180fa 17-Apr-2012 Rich Felker <dalias@aerifal.cx>

fix broken %s and %[ with no width specifier in wide scanf


# 99fbf4cf 17-Apr-2012 Rich Felker <dalias@aerifal.cx>

make wide scanf %[ respect width


# 00722515 17-Apr-2012 Rich Felker <dalias@aerifal.cx>

fix wide scanf to respect field width for strings


# 73ec1d04 17-Apr-2012 Rich Felker <dalias@aerifal.cx>

introduce new wide scanf code and remove the last remnants of old scanf

at this point, strto* and all scanf family functions are using the new
unified integer and floating point parser/converter code.

the wide scanf is largely a wrapper for ordinary byte-based scanf;
since numbers can only contain ascii characters, only strings need to
be handled specially.


# 0b44a031 11-Feb-2011 Rich Felker <dalias@aerifal.cx>

initial check-in, version 0.5.0