ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/Unix/timer_unix.cpp
(Generate patch)

Comparing BasiliskII/src/Unix/timer_unix.cpp (file contents):
Revision 1.1 by cebix, 1999-10-03T14:16:25Z vs.
Revision 1.3 by cebix, 1999-10-15T14:50:39Z

# Line 50 | Line 50 | void Microseconds(uint32 &hi, uint32 &lo
50   *  Return local date/time in Mac format (seconds since 1.1.1904)
51   */
52  
53 < const uint32 TIME_OFFSET = 0x7c25cca0;  // Offset Mac->Unix time in seconds
53 > const uint32 TIME_OFFSET = 0x7c25b080;  // Offset Mac->Unix time in seconds
54  
55   uint32 TimerDateTime(void)
56   {
57 <        time_t uct_now = time(NULL);
58 <        struct tm tm;
59 <        localtime_r(&uct_now, &tm);
60 <        time_t local_now = mktime(&tm);
57 >        time_t utc_now = time(NULL);
58 > #if defined(__linux__) || defined(__SVR4)
59 >        long tz = timezone;
60 >        time_t local_now = uct_now - tz;
61 >        if (daylight)
62 >                local_now += 3600;
63 > #elif defined(__FreeBSD__) || defined(__NetBSD__)
64 >        time_t local_now = utc_now + localtime(&utc_now)->tm_gmtoff;
65 > #else
66 >        time_t local_now = utc_now;
67 > #endif
68          return (uint32)local_now + TIME_OFFSET;
69   }
70  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines