This  patch  fixes assumptions  made  in  different  parts of  the  code
regarding the sizeof long and int. The original code appears to use them
interchangeably, even though it expects them to be 32 bit wide.
--- cmsmtrx.c	Tue Feb 13 12:08:06 2001
+++ cmsmtrx.c	Wed Sep  5 10:28:02 2001
@@ -705,6 +705,6 @@
 void VEC3scaleAndCut(LPWVEC3 r, LPVEC3 v, double d)
 {
-        r -> n[VX] = (int) floor(v -> n[VX] * d + .5);
-        r -> n[VY] = (int) floor(v -> n[VY] * d + .5);
-        r -> n[VZ] = (int) floor(v -> n[VZ] * d + .5);
+        r -> n[VX] = (icInt32Number) floor(v -> n[VX] * d + .5);
+        r -> n[VY] = (icInt32Number) floor(v -> n[VY] * d + .5);
+        r -> n[VZ] = (icInt32Number) floor(v -> n[VZ] * d + .5);
 }
