History log of /seL4-refos-master/libs/libmuslc/src/internal/intscan.c
Revision Date Author Comments
# e2e1bb81 16-Sep-2014 Rich Felker <dalias@aerifal.cx>

fix overflow corner case in strtoul-family functions

incorrect behavior occurred only in cases where the input overflows
unsigned long long, not just the (possibly lower) range limit for the
result type. in this case, processing of the '-' sign character was
not suppressed, and the function returned a value of 1 despite setting
errno to ERANGE.


# 835f9f95 08-Nov-2012 Rich Felker <dalias@aerifal.cx>

clean up stdio_impl.h

this header evolved to facilitate the extremely lazy practice of
omitting explicit includes of the necessary headers in individual
stdio source files; not only was this sloppy, but it also increased
build time.

now, stdio_impl.h is only including the headers it needs for its own
use; any further headers needed by source files are included directly
where needed.


# cb81b694 18-Apr-2012 Rich Felker <dalias@aerifal.cx>

fix really bad breakage in strtol, etc.: failure to accept leading spaces


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

fix failure of int parser to unget an initial mismatching character


# 18efeb32 16-Apr-2012 Rich Felker <dalias@aerifal.cx>

new scanf implementation and corresponding integer parser/converter

advantages over the old code:
- correct results for floating point (old code was bogus)
- wide/regular scanf separated so scanf does not pull in wide code
- well-defined behavior on integers that overflow dest type
- support for %[a-b] ranges with %[ (impl-defined by widely used)
- no intermediate conversion of fmt string to wide string
- cleaner, easier to share code with strto* functions
- better standards conformance for corner cases

the old code remains in the source tree, as the wide versions of the
scanf-family functions are still using it. it will be removed when no
longer needed.