1
0
Fork 0

* src/ATC/atis.cxx

* src/ATC/atislist.cxx

Patch from Melchior Franz:

- merged the _MWERKS_ & generic #ifdef branch, only the loop head needs
  different treatment
- commented out a "n >> skipeol" that is used in navlist.cxx to gobble
  the starting C++-style comment from default.nav.gz; atis inherited
  that, but there is no such comment in default.atis.gz, so the first
  data entry got thrown away
- commented out min/max frequency exploration (-> only for debugging)
- enhanced the constructor; the operator>> wouldn't have initialized all
  variables in case of a broken default.atis.gz entry, so we would have
  got a mixture of the broken one and the previous one;
- move the automatic FGATIS variable into the loop, so that it gets
  cleanly constructed for every database entry.
- don't access a.type before it is initialized
- updated the commented out debug output statements; they were still
  designed for the FGNav class ...
This commit is contained in:
david 2002-03-30 12:50:30 +00:00
parent ce4ea1d432
commit 412ca9a3d4
2 changed files with 39 additions and 34 deletions

View file

@ -90,10 +90,21 @@ string GetPhoneticIdent(int i) {
} }
// Constructor // Constructor
FGATIS::FGATIS() { FGATIS::FGATIS()
transmission = ""; : type(0),
display = false; lon(0.0), lat(0.0),
displaying = false; elev(0.0),
x(0.0), y(0.0), z(0.0),
freq(0),
range(0),
display(false),
displaying(false),
ident(""),
name(""),
transmission(""),
trans_ident(""),
atis_failed(false)
{
} }
// Destructor // Destructor

View file

@ -47,7 +47,6 @@ FGATISList::~FGATISList( void ) {
// load the navaids and build the map // load the navaids and build the map
bool FGATISList::init( SGPath path ) { bool FGATISList::init( SGPath path ) {
FGATIS a;
atislist.erase( atislist.begin(), atislist.end() ); atislist.erase( atislist.begin(), atislist.end() );
@ -59,55 +58,50 @@ bool FGATISList::init( SGPath path ) {
// read in each line of the file // read in each line of the file
in >> skipeol; // in >> skipeol;
in >> skipcomment; in >> skipcomment;
// double min = 100000;
// double max = 0;
#ifdef __MWERKS__ #ifdef __MWERKS__
char c = 0; char c = 0;
while ( in.get(c) && c != '\0' && a.get_type() != '[' ) { while ( in.get(c) && c != '\0' ) {
in.putback(c); in.putback(c);
in >> a;
if ( a.get_type() != '[' ) {
atislist[a.get_freq()].push_back(a);
}
in >> skipcomment;
}
#else #else
while ( ! in.eof() ) {
#endif
double min = 100000; FGATIS a;
double max = 0;
while ( ! in.eof() && a.get_type() != '[' ) {
in >> a; in >> a;
//cout << "id = " << a.get_ident() << endl; if ( a.get_type() == '[' ) {
//cout << " type = " << a.get_type() << endl; break;
//cout << " lon = " << a.get_lon() << endl; }
//cout << " lat = " << a.get_lat() << endl;
//cout << " elev = " << a.get_elev() << endl; /* cout << "id = " << a.GetIdent() << endl;
//cout << " freq = " << a.get_freq() << endl; cout << " type = " << a.get_type() << endl;
//cout << " range = " << a.get_range() << endl; cout << " lon = " << a.get_lon() << endl;
if ( a.get_type() != '[' ) { cout << " lat = " << a.get_lat() << endl;
atislist[a.get_freq()].push_back(a); cout << " elev = " << a.get_elev() << endl;
} cout << " freq = " << a.get_freq() << endl;
cout << " range = " << a.get_range() << endl << endl; */
atislist[a.get_freq()].push_back(a);
in >> skipcomment; in >> skipcomment;
if ( a.get_type() != 'N' ) { /* if ( a.get_type() != 'N' ) {
if ( a.get_freq() < min ) { if ( a.get_freq() < min ) {
min = a.get_freq(); min = a.get_freq();
} }
if ( a.get_freq() > max ) { if ( a.get_freq() > max ) {
max = a.get_freq(); max = a.get_freq();
} }
} } */
} }
// cout << "min freq = " << min << endl; // cout << "min freq = " << min << endl;
// cout << "max freq = " << max << endl; // cout << "max freq = " << max << endl;
#endif
return true; return true;
} }