Bruno Haible <br...@clisp.org> wrote: > Yup, thanks. Committed with this fix, and a bit nicer formatting:
Nicer indeed. > +/* Parse the initial portion of the string pointed to by NPTR as a floating- > + point number (in decimal or hexadecimal notation), like in the C locale: > + accepting only the ASCII digits '0'..'9', and only '.' as decimal point > + character. > + If ENDPTR is not NULL, set *ENDPTR to point to the first byte beyond the > + parsed number or to NPTR if the string does not start with a parseable > + number. Perhaps mention that *ENDPTR is always set? (as long as ENDPTR != NULL) > + Return value: > + - If successful, return the value as a double or 'long double', > + respectively, and don't modify errno. > + - In case of overflow, return ±HUGE_VAL or ±HUGE_VALL, respectively, and > + set errno to ERANGE. > + - In case of underflow, return a value very near to 0 and set errno to > + ERANGE. > + - If the string does not start with a number at all, return 0 (and recall > + that if ENDPTR != NULL, *ENDPTR is set to NPTR). > + - In case of other error, return 0 and set errno, for example to EINVAL > + or ENOMEM. */ Otherwise this last item implies *ENDPTR is not always updated.