diff --git a/src/types.cpp b/src/types.cpp index cb3df1f5..53bfae80 100644 --- a/src/types.cpp +++ b/src/types.cpp @@ -674,11 +674,10 @@ namespace Exiv2 { Rational floatToRationalCast(float f) { #if defined(_MSC_VER) && _MSC_VER < 1800 - #define isinf(x) (!_finite(x)) -#elif __APPLE__ - #define isinf(x) (isinf(x) || isnan(x)) + if (!_finite(f)) { +#else + if (!std::isfinite(f)) { #endif - if (isinf(f)) { return Rational(f > 0 ? 1 : -1, 0); } // Beware: primitive conversion algorithm