Improvements for VMS. (Zoltan Arpadffy)
diff --git a/src/eval.c b/src/eval.c
index f1285ca..8a26b66 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -4802,9 +4802,24 @@
f1 = f1 * f2;
else if (op == '/')
{
+# ifdef VMS
+ /* VMS crashes on divide by zero, work around it */
+ if (f2 == 0.0)
+ {
+ if (f1 == 0)
+ f1 = -0x7fffffffL - 1L; /* similar to NaN */
+ else if (f1 < 0)
+ f1 = -0x7fffffffL;
+ else
+ f1 = 0x7fffffffL;
+ }
+ else
+ f1 = f1 / f2;
+# else
/* We rely on the floating point library to handle divide
* by zero to result in "inf" and not a crash. */
f1 = f1 / f2;
+# endif
}
else
{