X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FNavaids%2Fnavdb.cxx;h=f7a2761f3dc67ee64db562624c91c7990db9d086;hb=4022edc5ba91cfedec45f8a39ff8f41d20f3f34e;hp=2e8d12c0f03b118371dcbacce2c08da1caab7344;hpb=36e40458100af04e0aff98d85b019cdfc9716526;p=flightgear.git diff --git a/src/Navaids/navdb.cxx b/src/Navaids/navdb.cxx index 2e8d12c0f..f7a2761f3 100644 --- a/src/Navaids/navdb.cxx +++ b/src/Navaids/navdb.cxx @@ -16,7 +16,7 @@ // // 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$ @@ -75,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() ) { @@ -85,6 +91,7 @@ bool fgNavDBInit( FGAirportList *airports, FGNavRecord *r = new FGNavRecord; in >> (*r); if ( r->get_type() > 95 ) { + delete r; break; } @@ -122,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() ;