add "scan helper getc" and rework strtod, etc. to use it
authorRich Felker <dalias@aerifal.cx>
Wed, 11 Apr 2012 01:47:37 +0000 (21:47 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 11 Apr 2012 01:47:37 +0000 (21:47 -0400)
commit2162541f38d3f642f5a643010548d62220d55a4d
tree8ea23d95450312e95377b69da9b65baaa5bfdd90
parent4fb6aa02c88a6b8b718c0ae982d072aa6ab8559f
add "scan helper getc" and rework strtod, etc. to use it

the immediate benefit is a significant debloating of the float parsing
code by moving the responsibility for keeping track of the number of
characters read to a different module.

by linking shgetc with the stdio buffer logic, counting logic is
defered to buffer refill time, keeping the calls to shgetc fast and
light.

in the future, shgetc will also be useful for integrating the new
float code with scanf, which needs to not only count the characters
consumed, but also limit the number of characters read based on field
width specifiers.

shgetc may also become a useful tool for simplifying the integer
parsing code.
src/internal/floatscan.c
src/internal/floatscan.h
src/internal/shgetc.c [new file with mode: 0644]
src/internal/shgetc.h [new file with mode: 0644]
src/internal/stdio_impl.h
src/stdlib/strtod.c