1 |
|
/* |
2 |
|
* timer_unix.cpp - Time Manager emulation, Unix specific stuff |
3 |
|
* |
4 |
< |
* Basilisk II (C) 1997-1999 Christian Bauer |
4 |
> |
* Basilisk II (C) 1997-2000 Christian Bauer |
5 |
|
* |
6 |
|
* This program is free software; you can redistribute it and/or modify |
7 |
|
* it under the terms of the GNU General Public License as published by |
24 |
|
#define DEBUG 0 |
25 |
|
#include "debug.h" |
26 |
|
|
27 |
+ |
// For NetBSD with broken pthreads headers |
28 |
+ |
#ifndef CLOCK_REALTIME |
29 |
+ |
#define CLOCK_REALTIME 0 |
30 |
+ |
#endif |
31 |
+ |
|
32 |
|
|
33 |
|
/* |
34 |
|
* Return microseconds since boot (64 bit) |
55 |
|
* Return local date/time in Mac format (seconds since 1.1.1904) |
56 |
|
*/ |
57 |
|
|
53 |
– |
const uint32 TIME_OFFSET = 0x7c25b080; // Offset Mac->Unix time in seconds |
54 |
– |
|
58 |
|
uint32 TimerDateTime(void) |
59 |
|
{ |
60 |
|
time_t utc_now = time(NULL); |
61 |
|
#if defined(__linux__) || defined(__SVR4) |
62 |
< |
long tz = timezone; |
60 |
< |
time_t local_now = uct_now - tz; |
61 |
< |
if (daylight) |
62 |
< |
local_now += 3600; |
62 |
> |
time_t local_now = utc_now - timezone; |
63 |
|
#elif defined(__FreeBSD__) || defined(__NetBSD__) |
64 |
|
time_t local_now = utc_now + localtime(&utc_now)->tm_gmtoff; |
65 |
|
#else |