fix powerpc sigsetjmp asm to match the new jmp_buf size/offsets
[musl] / src / stdlib / wcstod.c
index 338c616..83f308d 100644 (file)
@@ -1,6 +1,7 @@
 #include "shgetc.h"
 #include "floatscan.h"
 #include "stdio_impl.h"
+#include <wctype.h>
 
 /* This read function heavily cheats. It knows:
  *  (1) len will always be 1
@@ -39,23 +40,25 @@ static long double wcstox(const wchar_t *s, wchar_t **p, int prec)
        while (iswspace(*t)) t++;
        f.cookie = (void *)t;
        shlim(&f, 0);
-       long double y = __floatscan(&f, -1, prec, 1);
-       off_t cnt = shcnt(&f);
-       if (p) *p = cnt ? t + cnt : (wchar_t *)s;
+       long double y = __floatscan(&f, prec, 1);
+       if (p) {
+               size_t cnt = shcnt(&f);
+               *p = cnt ? t + cnt : (wchar_t *)s;
+       }
        return y;
 }
 
-float wcstof(const wchar_t *s, wchar_t **p)
+float wcstof(const wchar_t *restrict s, wchar_t **restrict p)
 {
        return wcstox(s, p, 0);
 }
 
-double wcstod(const wchar_t *s, wchar_t **p)
+double wcstod(const wchar_t *restrict s, wchar_t **restrict p)
 {
        return wcstox(s, p, 1);
 }
 
-long double wcstold(const wchar_t *s, wchar_t **p)
+long double wcstold(const wchar_t *restrict s, wchar_t **restrict p)
 {
        return wcstox(s, p, 2);
 }