diff options
Diffstat (limited to 'src/stdlib/strtod.c')
| -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;  } | 
