void FGRouteMgr::postinit()
{
SGPath path(_pathNode->getStringValue());
- if (path.exists()) {
+ if (!path.isNull()) {
SG_LOG(SG_AUTOPILOT, SG_INFO, "loading flight-plan from: " << path.str());
loadRoute(path);
}
bool FGRouteMgr::loadRoute(const SGPath& path)
{
+ if (!path.exists())
+ {
+ SG_LOG(SG_IO, SG_ALERT, "Failed to load flight-plan '" << path.str()
+ << "'. The file does not exist.");
+ return false;
+ }
+
// deactivate route first
active->setBoolValue(false);
bool FGRouteMgr::loadPlainTextRoute(const SGPath& path)
{
- sg_gzifstream in(path.str().c_str());
- if (!in.is_open()) {
- return false;
- }
-
try {
+ sg_gzifstream in(path.str().c_str());
+ if (!in.is_open()) {
+ throw sg_io_exception("Cannot open file for reading.");
+ }
+
WayptVec wpts;
while (!in.eof()) {
string line;