diff options
author | Nick Wellnhofer <wellnhofer@aevum.de> | 2018-03-15 19:33:52 +0100 |
---|---|---|
committer | Nick Wellnhofer <wellnhofer@aevum.de> | 2018-03-16 15:09:42 +0100 |
commit | 7abec671473b837f99181442d59edd0cc2ee01d1 (patch) | |
tree | a988183ec2cf0b61e3b1bcb5d549a0e2ccd4a94d | |
parent | 18890f471c420411aa3c989e104d090966ec9dbf (diff) | |
download | libxml2-7abec671473b837f99181442d59edd0cc2ee01d1.tar.gz |
NaN and Inf fixes for pre-C99 compilers
On some pre-C99 compilers, the NAN and INFINITY macros don't expand to
constant expressions.
Some MSVC versions complain about floating point division by zero in
constants.
Thanks to Fabrice Manfroi for the report.
-rw-r--r-- | xpath.c | 19 |
1 files changed, 10 insertions, 9 deletions
@@ -477,27 +477,28 @@ int wrap_cmp( xmlNodePtr x, xmlNodePtr y ); * * ************************************************************************/ -#ifndef NAN -#define NAN (0.0 / 0.0) +#ifndef INFINITY +#define INFINITY (DBL_MAX * DBL_MAX) #endif -#ifndef INFINITY -#define INFINITY HUGE_VAL +#ifndef NAN +#define NAN (INFINITY / INFINITY) #endif -double xmlXPathNAN = NAN; -double xmlXPathPINF = INFINITY; -double xmlXPathNINF = -INFINITY; +double xmlXPathNAN; +double xmlXPathPINF; +double xmlXPathNINF; /** * xmlXPathInit: * * Initialize the XPath environment - * - * Does nothing but must be kept as public function. */ void xmlXPathInit(void) { + xmlXPathNAN = NAN; + xmlXPathPINF = INFINITY; + xmlXPathNINF = -INFINITY; } /** |