]> git.mxchange.org Git - simgear.git/blobdiff - simgear/nasal/mathlib.c
Hopefully final fix for old gcc...
[simgear.git] / simgear / nasal / mathlib.c
index fcf23e6e0ffdf8439cd5c3628f0de66afbb4a5e0..f2434b3cfe1dafe38cdfeba827716d8b91c1dc66 100644 (file)
@@ -155,12 +155,20 @@ static naRef f_round(naContext c, naRef me, int argc, naRef* args)
 {
     naRef a = naNumValue(argc > 0 ? args[0] : naNil());
     naRef b = naNumValue(argc > 1 ? args[1] : naNil());
+#ifdef _MSC_VER
+    double x,y;
+#endif    
     if(naIsNil(a))
         naRuntimeError(c, "non numeric arguments to round()");
     if (naIsNil(b))
         b.num = 1.0;
-    
+
+#ifdef _MSC_VER // MSVC is not C99-compatible, no round() in math.h
+    y = a.num / b.num;
+    x = floor(y + 0.5);
+#else
     double x = round(a.num / b.num);
+#endif
     a.num = x * b.num;
     
     return VALIDATE(a);