Fix a segfault that became apparent with a 850 apt.dat file
This commit is contained in:
parent
dbda2fb95d
commit
ede92fce54
1 changed files with 23 additions and 18 deletions
|
@ -478,25 +478,30 @@ private:
|
||||||
int freqKhz = atoi(token[1].c_str());
|
int freqKhz = atoi(token[1].c_str());
|
||||||
int rangeNm = 50;
|
int rangeNm = 50;
|
||||||
FGPositioned::Type ty;
|
FGPositioned::Type ty;
|
||||||
switch (lineId) {
|
// Make sure we only pass on stations with at least a name
|
||||||
case 50:
|
if (token.size() >2){
|
||||||
ty = FGPositioned::FREQ_AWOS;
|
|
||||||
if (token[2] == "ATIS") {
|
|
||||||
ty = FGPositioned::FREQ_ATIS;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 51: ty = FGPositioned::FREQ_UNICOM; break;
|
|
||||||
case 52: ty = FGPositioned::FREQ_CLEARANCE; break;
|
|
||||||
case 53: ty = FGPositioned::FREQ_GROUND; break;
|
|
||||||
case 54: ty = FGPositioned::FREQ_TOWER; break;
|
|
||||||
case 55:
|
|
||||||
case 56: ty = FGPositioned::FREQ_APP_DEP; break;
|
|
||||||
default:
|
|
||||||
throw sg_range_exception("unupported apt.dat comm station type");
|
|
||||||
}
|
|
||||||
|
|
||||||
commStations.push_back(new flightgear::CommStation(token[2], ty, pos, rangeNm, freqKhz));
|
switch (lineId) {
|
||||||
|
case 50:
|
||||||
|
ty = FGPositioned::FREQ_AWOS;
|
||||||
|
if (token[2] == "ATIS") {
|
||||||
|
ty = FGPositioned::FREQ_ATIS;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 51: ty = FGPositioned::FREQ_UNICOM; break;
|
||||||
|
case 52: ty = FGPositioned::FREQ_CLEARANCE; break;
|
||||||
|
case 53: ty = FGPositioned::FREQ_GROUND; break;
|
||||||
|
case 54: ty = FGPositioned::FREQ_TOWER; break;
|
||||||
|
case 55:
|
||||||
|
case 56: ty = FGPositioned::FREQ_APP_DEP; break;
|
||||||
|
default:
|
||||||
|
throw sg_range_exception("unupported apt.dat comm station type");
|
||||||
|
}
|
||||||
|
|
||||||
|
commStations.push_back(new flightgear::CommStation(token[2], ty, pos, rangeNm, freqKhz));
|
||||||
|
}
|
||||||
|
else SG_LOG( SG_GENERAL, SG_DEBUG, "Found unnamed comm. Skipping: " << lineId);
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue