strtod: support coreutils better
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 19 Feb 2013 22:20:04 +0000 (14:20 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 19 Feb 2013 22:20:33 +0000 (14:20 -0800)
* 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.

ChangeLog
lib/strtod.c

index 79bda70..4f3a198 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
 
+       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.
+
        mountlist: port to HP NonStop
        Reported by Joachim Schmitz in
        <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
index 5c43b4f..cf59cd5 100644 (file)
@@ -344,24 +344,11 @@ strtod (const char *nptr, char **endptr)
   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);
 }