From: Paul Eggert Date: Mon, 12 Jul 2004 06:30:36 +0000 (+0000) Subject: Include first. X-Git-Tag: v5.3.0~1127 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d06984e2be1fc5e2cf871e9666f21d7ab3760e3f;p=thirdparty%2Fcoreutils.git Include first. (C_STRTOD, DOUBLE, STRTOD): New macros. (c_strtod): Use them. --- diff --git a/lib/c-strtod.c b/lib/c-strtod.c index ed5be49ab6..25d8951075 100644 --- a/lib/c-strtod.c +++ b/lib/c-strtod.c @@ -1,6 +1,6 @@ /* Convert string to double, using the C locale. - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2004 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,6 +18,10 @@ /* Written by Paul Eggert. */ +#ifdef HAVE_CONFIG_H +# include +#endif + #include "c-strtod.h" #include @@ -25,10 +29,25 @@ #include "xalloc.h" -double -c_strtod (char const *nptr, char **endptr) +#if LONG +# define C_STRTOD c_strtold +# define DOUBLE long double +#else +# define C_STRTOD c_strtod +# define DOUBLE double +#endif + +/* c_strtold falls back on strtod if strtold isn't declared. */ +#if LONG && HAVE_DECL_STRTOLD +# define STRTOD strtold +#else +# define STRTOD strtod +#endif + +DOUBLE +C_STRTOD (char const *nptr, char **endptr) { - double r; + DOUBLE r; char *saved_locale = setlocale (LC_NUMERIC, NULL); if (saved_locale) @@ -37,7 +56,7 @@ c_strtod (char const *nptr, char **endptr) setlocale (LC_NUMERIC, "C"); } - r = strtod (nptr, endptr); + r = STRTOD (nptr, endptr); if (saved_locale) {