Mercurial > gnulib
diff lib/strtod.c @ 17333:201622d6d12f
strtod: support coreutils better
* lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
disables the raw decl checks. This assumes there is an underlying
strtod, but that's a safe assumption these days.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Tue, 19 Feb 2013 14:20:04 -0800 |
parents | e542fd46ad6f |
children | 892b14640382 |
line wrap: on
line diff
--- a/lib/strtod.c Tue Feb 19 13:04:35 2013 -0800 +++ b/lib/strtod.c Tue Feb 19 14:20:04 2013 -0800 @@ -344,24 +344,11 @@ return negative ? -num : num; } -/* The "underlying" strtod implementation. This must be defined +/* The underlying strtod implementation. This must be defined after strtod because it #undefs strtod. */ static double underlying_strtod (const char *nptr, char **endptr) { - if (HAVE_RAW_DECL_STRTOD) - { - /* Prefer the native strtod if available. Usually it should - work and it should give more-accurate results than our - approximation. */ - #undef strtod - return strtod (nptr, endptr); - } - else - { - /* Approximate strtod well enough for this module. There's no - need to handle anything but finite unsigned decimal - numbers with nonnull ENDPTR. */ - return parse_number (nptr, 10, 10, 1, 'e', endptr); - } +#undef strtod + return strtod (nptr, endptr); }