diff options
Diffstat (limited to 'src/stdlib')
-rw-r--r-- | src/stdlib/strtod.c | 6 | ||||
-rw-r--r-- | src/stdlib/strtol.c | 9 |
2 files changed, 3 insertions, 12 deletions
diff --git a/src/stdlib/strtod.c b/src/stdlib/strtod.c index a898b1d4..a5d0118a 100644 --- a/src/stdlib/strtod.c +++ b/src/stdlib/strtod.c @@ -5,10 +5,8 @@ static long double strtox(const char *s, char **p, int prec) { - FILE f = { - .buf = (void *)s, .rpos = (void *)s, - .rend = (void *)-1, .lock = -1 - }; + FILE f; + sh_fromstring(&f, s); shlim(&f, 0); long double y = __floatscan(&f, prec, 1); off_t cnt = shcnt(&f); diff --git a/src/stdlib/strtol.c b/src/stdlib/strtol.c index d82ecf7f..bfefea69 100644 --- a/src/stdlib/strtol.c +++ b/src/stdlib/strtol.c @@ -7,15 +7,8 @@ static unsigned long long strtox(const char *s, char **p, int base, unsigned long long lim) { - /* FIXME: use a helper function or macro to setup the FILE */ FILE f; - f.flags = 0; - f.buf = f.rpos = (void *)s; - if ((size_t)s > (size_t)-1/2) - f.rend = (void *)-1; - else - f.rend = (unsigned char *)s+(size_t)-1/2; - f.lock = -1; + sh_fromstring(&f, s); shlim(&f, 0); unsigned long long y = __intscan(&f, base, 1, lim); if (p) { |