X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FNavaids%2Fnavdb.cxx;h=f7a2761f3dc67ee64db562624c91c7990db9d086;hb=4022edc5ba91cfedec45f8a39ff8f41d20f3f34e;hp=b9d5afc099af93901629e62de5760880660cd075;hpb=af653250b573e49ea706ab4d0fb932da14fe2e4d;p=flightgear.git diff --git a/src/Navaids/navdb.cxx b/src/Navaids/navdb.cxx index b9d5afc09..f7a2761f3 100644 --- a/src/Navaids/navdb.cxx +++ b/src/Navaids/navdb.cxx @@ -16,10 +16,13 @@ // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software -// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // // $Id$ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif #include @@ -72,8 +75,14 @@ bool fgNavDBInit( FGAirportList *airports, #ifdef __MWERKS__ + + FIXME -- Please report to the FlightGear mailing list, if you still use a + compiler identifying itself as __MWERKS__ that needs this hack. + There are 41 instances of it in the SimGear & FilghtGear code, + and they are scheduled for removal. + char c = 0; - while ( in.get(c) && c != '\0' ) { + while ( in.get(c) && c != '\0' ) { in.putback(c); #else while ( ! in.eof() ) { @@ -82,6 +91,7 @@ bool fgNavDBInit( FGAirportList *airports, FGNavRecord *r = new FGNavRecord; in >> (*r); if ( r->get_type() > 95 ) { + delete r; break; } @@ -119,11 +129,11 @@ bool fgNavDBInit( FGAirportList *airports, { // Marker Beacon = 7,8,9 mkrlist->add( r ); - } else if ( r->get_type() == 12 ) { - // DME=12 + } else if ( r->get_type() == 12 || r->get_type() == 13) { + // DME with ILS=12; standalone DME=13 string str1( r->get_name() ); - unsigned int loc1= str1.find( "TACAN", 0 ); - unsigned int loc2 = str1.find( "VORTAC", 0 ); + string::size_type loc1= str1.find( "TACAN", 0 ); + string::size_type loc2 = str1.find( "VORTAC", 0 ); if( loc1 != string::npos || loc2 != string::npos ){ //cout << " name = " << r->get_name() ; @@ -146,7 +156,7 @@ bool fgNavDBInit( FGAirportList *airports, path.append( "Navaids/carrier_nav.dat" ); file = path.str(); - SG_LOG( SG_GENERAL, SG_ALERT, "opening file: " << path.str() ); + SG_LOG( SG_GENERAL, SG_INFO, "opening file: " << path.str() ); sg_gzifstream incarrier( path.str() ); @@ -187,9 +197,8 @@ bool fgNavDBInit( FGAirportList *airports, path = globals->get_fg_root(); path.append( "Navaids/TACAN_freq.dat" ); - file = path.str(); - cout << file << endl; - // + SG_LOG( SG_GENERAL, SG_INFO, "opening file: " << path.str() ); + sg_gzifstream inchannel( path.str() ); if ( !inchannel.is_open() ) { @@ -291,10 +300,10 @@ void fgNavDBAlignLOCwithRunway( FGRunwayList *runways, FGNavList *loclist, double threshold ) { nav_map_type navmap = loclist->get_navaids(); - nav_map_iterator freq = navmap.begin(); + nav_map_const_iterator freq = navmap.begin(); while ( freq != navmap.end() ) { nav_list_type locs = freq->second; - nav_list_iterator loc = locs.begin(); + nav_list_const_iterator loc = locs.begin(); while ( loc != locs.end() ) { string name = (*loc)->get_name(); string::size_type pos1 = name.find(" ");