From cb81b6947c0277a6a27ddc699d716e9cf2b524aa Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Thu, 19 Apr 2012 12:47:34 -0400 Subject: fix really bad breakage in strtol, etc.: failure to accept leading spaces --- src/stdlib/strtod.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/stdlib') diff --git a/src/stdlib/strtod.c b/src/stdlib/strtod.c index ecfabdf1..1886efa5 100644 --- a/src/stdlib/strtod.c +++ b/src/stdlib/strtod.c @@ -5,16 +5,14 @@ static long double strtox(const char *s, char **p, int prec) { - char *t = (char *)s; - while (isspace(*t)) t++; FILE f = { - .buf = (void *)t, .rpos = (void *)t, + .buf = (void *)s, .rpos = (void *)s, .rend = (void *)-1, .lock = -1 }; shlim(&f, 0); - long double y = __floatscan(&f, -1, prec, 1); + long double y = __floatscan(&f, prec, 1); off_t cnt = shcnt(&f); - if (p) *p = cnt ? t + cnt : (char *)s; + if (p) *p = cnt ? (char *)s + cnt : (char *)s; return y; } -- cgit v1.2.1