]> git.mxchange.org Git - simgear.git/commitdiff
MSVC++ tweaks.
authorcurt <curt>
Tue, 15 May 2001 22:17:58 +0000 (22:17 +0000)
committercurt <curt>
Tue, 15 May 2001 22:17:58 +0000 (22:17 +0000)
simgear/timing/sg_time.cxx
simgear/timing/sg_time.hxx
simgear/timing/timezone.cxx

index 2db16af87d7e7587f8b2589f117ab04500953cad..5d6feb61e9a75d828bf21c1bef1c13f41fc13a74 100644 (file)
 // $Id$
 
 
+#ifdef HAVE_CONFIG_H
+#  include <simgear_config.h>
+#endif
+
 #include <simgear/compiler.h>
 
 #include <errno.h>             // for errno
@@ -184,6 +188,9 @@ static double sidereal_course( time_t cur_time, struct tm *gmt, double lng )
 // Update the time related variables
 void SGTime::update( double lon, double lat, long int warp ) {
     double gst_precise, gst_course;
+#ifdef _MSC_VER
+    tm * gmt = &m_gmt;
+#endif
 
     SG_LOG( SG_EVENT, SG_DEBUG, "Updating time" );
 
@@ -195,10 +202,14 @@ void SGTime::update( double lon, double lat, long int warp ) {
            << "  warp = " << warp );
 
     // get GMT break down for current time
+#ifdef _MSC_VER
+    memcpy( gmt, gmtime(&cur_time), sizeof(tm) );
+#else
     gmt = gmtime(&cur_time);
+#endif
     SG_LOG( SG_EVENT, SG_DEBUG, 
            "  Current GMT = " << gmt->tm_mon+1 << "/" 
-           << gmt->tm_mday << "/" << gmt->tm_year << " "
+           << gmt->tm_mday << "/" << (1900 + gmt->tm_year) << " "
            << gmt->tm_hour << ":" << gmt->tm_min << ":" 
            << gmt->tm_sec );
 
index 8997ffa0003315025bf5ad1988a0b084e9150c34..e075cd9621026dd4116a895ad1e2d9785ff7c916 100644 (file)
@@ -78,7 +78,11 @@ private:
     time_t cur_time;
 
     // Break down of equivalent GMT time
+#ifdef _MSC_VER
+    struct tm m_gmt;    // copy of system gmtime(&time_t) structure
+#else
     struct tm *gmt;
+#endif
 
     // offset of local time relative to GMT
     time_t local_offset;
@@ -162,7 +166,11 @@ public:
     inline char* get_zonename() const { return zonename; }
 
     /** @return GMT in a "brokent down" tm structure */
+#ifdef _MSC_VER
+    inline struct tm* getGmt()const { return (struct tm *)&m_gmt; };
+#else
     inline struct tm* getGmt()const { return gmt; };
+#endif
 
     /** @return julian date */
     inline double getJD() const { return jd; };
index 9bdb7a2f811ab6d11ce8b23c4d03f6f07e3fc00d..f0d914043c77d07747a754cb7651a2ab7324bd0e 100644 (file)
@@ -132,11 +132,16 @@ TimezoneContainer::TimezoneContainer(const char *filename)
             if (feof(infile)) {
                 break;
             }
+#ifdef _MSC_VER
+            if( buffer[0] == '#' )
+               continue;
+#else
             for (int i = 0; i < 256; i++) {
                 if (buffer[i] == '#') {
                     buffer[i] = 0;
                 }
             }
+#endif
             if (buffer[0]) {
                 data.push_back(new Timezone(buffer));
             }