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
FGATIS::FGATIS() {
transmission = "";
display = false;
displaying = false;
FGATIS::FGATIS()
: type(0),
lon(0.0), lat(0.0),
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

View file

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