]> git.mxchange.org Git - flightgear.git/blobdiff - src/Airports/simple.cxx
Moved random ground cover object management code (userdata.[ch]xx) over
[flightgear.git] / src / Airports / simple.cxx
index 3f02a796ddac5e5cc4025544878815750f2c124b..560b0d4668fc6092178cbdbcaee09cf82713ee16 100644 (file)
 //
 // $Id$
 
-
 #ifdef HAVE_CONFIG_H
 #  include <config.h>
 #endif
 
-// #include <sys/types.h>              // for gdbm open flags
-// #include <sys/stat.h>               // for gdbm open flags
-
-// #ifdef HAVE_GDBM
-// #  include <gdbm.h>
-// #else
-// #  include <simgear/gdbm/gdbm.h>
-// #endif
-
 #include <simgear/compiler.h>
 
 #include <simgear/debug/logstream.hxx>
 
 SG_USING_NAMESPACE(std);
 
+#ifndef _MSC_VER
+#   define NDEBUG                      // she don't work without it.
+#endif
+#include <mk4.h>
+#include <mk4str.h>
+#ifndef _MSC_VER
+#  undef NDEBUG
+#endif
+
+#ifdef SG_HAVE_STD_INCLUDES
+#  include <istream>
+#elif defined( __BORLANDC__ ) || defined (__APPLE__)
+#  include <iostream>
+#else
+#  include <istream.h>
+#endif
+SG_USING_STD(istream);
+
+
+inline istream&
+operator >> ( istream& in, FGAirport& a )
+{
+    return in >> a.id >> a.latitude >> a.longitude >> a.elevation;
+}
+
+
 FGAirports::FGAirports( const string& file ) {
     // open the specified database readonly
     storage = new c4_Storage( file.c_str(), false );
@@ -75,16 +91,16 @@ FGAirports::search( const string& id, FGAirport* a ) const
     c4_FloatProp pElev ("Elevation");
 
     int idx = vAirport->Find(pID[id.c_str()]);
-    cout << "idx = " << idx << endl;
+    SG_LOG( SG_TERRAIN, SG_INFO, "idx = " << idx );
 
     if ( idx == -1 ) {
        return false;
     }
 
-    c4_RowRef r = vAirport->GetAt(idx);
-
+    c4_RowRef r  = vAirport->GetAt(idx);
+    a->id        = (const char *) pID(r); /// NHV fix wrong case crash
     a->longitude = (double) pLon(r);
-    a->latitude =  (double) pLat(r);
+    a->latitude  =  (double) pLat(r);
     a->elevation = (double) pElev(r);
 
     return true;
@@ -198,7 +214,7 @@ bool FGAirportsUtil::dump_mk4( const string& file ) {
     const_iterator end = airports.end();
     while ( current != end ) {
        // add each airport record
-       cout << "out -> " << current->id << endl;
+       SG_LOG( SG_TERRAIN, SG_BULK, "out -> " << current->id );
        pID (row) = current->id.c_str();
        pLon (row) = current->longitude;
        pLat (row) = current->latitude;