diff options
Diffstat (limited to 'src/stdlib')
-rw-r--r-- | src/stdlib/strtod.c | 6 |
1 files changed, 4 insertions, 2 deletions
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; } |