diff options
Diffstat (limited to 'src/stdlib/strtof.c')
-rw-r--r-- | src/stdlib/strtof.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/stdlib/strtof.c b/src/stdlib/strtof.c index 07b32df4..2dc349a9 100644 --- a/src/stdlib/strtof.c +++ b/src/stdlib/strtof.c @@ -1,6 +1,15 @@ #include <stdlib.h> +#include "floatscan.h" +#include "stdio_impl.h" float strtof(const char *s, char **p) { - return strtold(s, p); + FILE f = { + .buf = (void *)s, .rpos = (void *)s, + .rend = (void *)-1, .lock = -1 + }; + off_t cnt; + float y = __floatscan(&f, -1, 0, 1, &cnt); + if (p) *p = (char *)s + cnt; + return y; } |