]> git.mxchange.org Git - flightgear.git/commitdiff
Nasal: accept strings-containing-ints as
authorJames Turner <zakalawe@mac.com>
Tue, 5 Nov 2013 23:46:19 +0000 (15:46 -0800)
committerJames Turner <zakalawe@mac.com>
Wed, 6 Nov 2013 23:50:13 +0000 (15:50 -0800)
arguments to leg altitude/speed constraints.

src/Scripting/NasalPositioned.cxx

index 25d28bb40c1c549c1e168eefddfc0c383d14b9ad..11ca31bf72e7c5ae98880b3d1ebf62a6357c5abe 100644 (file)
@@ -2192,7 +2192,15 @@ static naRef f_leg_setSpeed(naContext c, naRef me, int argc, naRef* args)
   }
   
   RouteRestriction rr = routeRestrictionFromString(naStr_data(args[1]));
-  leg->setSpeed(rr, args[0].num);
+    if (naIsNum(args[0])) {
+        leg->setSpeed(rr, args[0].num);
+    } else if (naIsString(args[0])) {
+        leg->setSpeed(rr, simgear::strutils::to_int(naStr_data(args[0])));
+    } else {
+        naRuntimeError(c, "bad speed value for leg.setSpeed");
+    }
+    
+  
   return naNil();
 }
 
@@ -2208,7 +2216,14 @@ static naRef f_leg_setAltitude(naContext c, naRef me, int argc, naRef* args)
   }
   
   RouteRestriction rr = routeRestrictionFromString(naStr_data(args[1]));
-  leg->setAltitude(rr, args[0].num);
+    if (naIsNum(args[0])) {
+        leg->setAltitude(rr, args[0].num);
+    } else if (naIsString(args[0])) {
+        leg->setAltitude(rr, simgear::strutils::to_int(naStr_data(args[0])));
+    } else {
+        naRuntimeError(c, "bad value for setAltitude");
+    }
+
   return naNil();
 }