Age | Commit message (Collapse) | Author | Lines |
2017年01月04日 | treat base 1 as an error in strtol-family functions | Rich Felker | -1/+1 |
|
ISO C and POSIX only specify behavior for base arguments of 0 and
2-36; POSIX mandates an EINVAL error for unsupported bases. it's not
clear that there's a requirement for implementations not to "support"
additional bases as an extension, but "base 1" did not work in any
meaningful way anyway, so it should be considered unsupported and thus
an error.
|
2014年09月16日 | fix overflow corner case in strtoul-family functions | Rich Felker | -0/+1 |
|
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.
|
2012年11月08日 | clean up stdio_impl.h | Rich Felker | -0/+1 |
|
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.
|
2012年04月19日 | fix really bad breakage in strtol, etc.: failure to accept leading spaces | Rich Felker | -1/+1 |
|
2012年04月17日 | fix failure of int parser to unget an initial mismatching character | Rich Felker | -0/+1 |
|
2012年04月16日 | new scanf implementation and corresponding integer parser/converter | Rich Felker | -0/+97 |
|
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.
|