bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: c-strtod: handling of out-of-memory


From: Jim Meyering
Subject: Re: c-strtod: handling of out-of-memory
Date: Sat, 24 Jan 2009 12:28:27 +0100

Bruno Haible <address@hidden> 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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]