X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=src%2Fstdlib%2Fwcstod.c;h=03670b0bf03ce6682ba2d34220b4f5058f9f0e60;hp=338c616052f81dd4ba183c2fefe629004b682404;hb=400c5e5c8307a2ebe44ef1f203f5a15669f20347;hpb=f94cbdeb4181e604e193646af16a2e5daa3dd718 diff --git a/src/stdlib/wcstod.c b/src/stdlib/wcstod.c index 338c6160..03670b0b 100644 --- a/src/stdlib/wcstod.c +++ b/src/stdlib/wcstod.c @@ -39,23 +39,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); }