}
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();
}
}
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();
}