author | Rich Felker <dalias@aerifal.cx> | 2012年04月10日 21:47:37 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2012年04月10日 21:47:37 -0400 |
commit | 2162541f38d3f642f5a643010548d62220d55a4d (patch) | |
tree | 8ea23d95450312e95377b69da9b65baaa5bfdd90 /src/stdlib/strtod.c | |
parent | 4fb6aa02c88a6b8b718c0ae982d072aa6ab8559f (diff) | |
download | musl-2162541f38d3f642f5a643010548d62220d55a4d.tar.gz |
-rw-r--r-- | src/stdlib/strtod.c | 6 |
diff --git a/src/stdlib/strtod.c b/src/stdlib/strtod.c index b444f530..ecfabdf1 100644 --- a/src/stdlib/strtod.c +++ b/src/stdlib/strtod.c @@ -1,4 +1,5 @@ #include <stdlib.h> +#include "shgetc.h" #include "floatscan.h" #include "stdio_impl.h" @@ -10,8 +11,9 @@ static long double strtox(const char *s, char **p, int prec) .buf = (void *)t, .rpos = (void *)t, .rend = (void *)-1, .lock = -1 }; - off_t cnt; - long double y = __floatscan(&f, -1, prec, 1, &cnt); + shlim(&f, 0); + long double y = __floatscan(&f, -1, prec, 1); + off_t cnt = shcnt(&f); if (p) *p = cnt ? t + cnt : (char *)s; return y; } |