From c8c913c61538f9348cb35a91a10a5155d3a04edd Mon Sep 17 00:00:00 2001 From: usa Date: Mon, 7 Jul 2014 03:00:01 +0000 Subject: merge revision(s) 44505: [Backport #9994] numeric.c: isfinite * numeric.c (flo_is_finite_p): prefer C99 standard isfinite() than deprecated finite(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@46732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- numeric.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'numeric.c') diff --git a/numeric.c b/numeric.c index 2c15e2fbe9..e3a1a8c458 100644 --- a/numeric.c +++ b/numeric.c @@ -30,6 +30,14 @@ #include #endif +#if !defined HAVE_ISFINITE && !defined isfinite +#if defined HAVE_FINITE && !defined finite && !defined _WIN32 +extern int finite(double); +# define HAVE_ISFINITE 1 +# define isfinite(x) finite(x) +#endif +#endif + /* use IEEE 64bit values if not defined */ #ifndef FLT_RADIX #define FLT_RADIX 2 @@ -1482,8 +1490,8 @@ flo_is_finite_p(VALUE num) { double value = RFLOAT_VALUE(num); -#if HAVE_FINITE - if (!finite(value)) +#if HAVE_ISFINITE + if (!isfinite(value)) return Qfalse; #else if (isinf(value) || isnan(value)) -- cgit v1.2.3