From e2383c107d7de54c5539f6d2036166a568625fce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Mon, 22 Nov 2004 21:54:24 +0000 Subject: [PATCH] fixed offset sign, gmt clock is working this should be factored in kernel core to only have a system_time_offset git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10186 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kernel/core/real_time_clock.c | 10 +++++----- src/kernel/libroot/os/time.c | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/kernel/core/real_time_clock.c b/src/kernel/core/real_time_clock.c index 1083b846b8..6503dcc12b 100644 --- a/src/kernel/core/real_time_clock.c +++ b/src/kernel/core/real_time_clock.c @@ -123,7 +123,7 @@ void set_real_time_clock(uint32 currentTime) { sRealTimeData->boot_time = currentTime * 1000000LL - system_time() - - sRealTimeData->timezone_offset; + + (sRealTimeData->isGMT ? 0 : sRealTimeData->timezone_offset); rtc_system_to_hw(); } @@ -131,8 +131,8 @@ set_real_time_clock(uint32 currentTime) uint32 real_time_clock(void) { - return (sRealTimeData->boot_time + system_time() + - sRealTimeData->timezone_offset) / 1000000; + return (sRealTimeData->boot_time + system_time() - + (sRealTimeData->isGMT ? 0 : sRealTimeData->timezone_offset)) / 1000000; } @@ -140,8 +140,8 @@ bigtime_t real_time_clock_usecs(void) { // ToDo: implement me - they might be used directly from libroot/os/time.c - return sRealTimeData->boot_time + system_time() + - sRealTimeData->timezone_offset; + return sRealTimeData->boot_time + system_time() - + (sRealTimeData->isGMT ? 0 : sRealTimeData->timezone_offset); } // #pragma mark - diff --git a/src/kernel/libroot/os/time.c b/src/kernel/libroot/os/time.c index 5f255cde75..8f9615c3d5 100644 --- a/src/kernel/libroot/os/time.c +++ b/src/kernel/libroot/os/time.c @@ -46,7 +46,7 @@ uint32 real_time_clock(void) { return (sRealTimeData->boot_time + system_time() - + sRealTimeData->timezone_offset) / 1000000; + - (sRealTimeData->isGMT ? 0 : sRealTimeData->timezone_offset)) / 1000000; } @@ -54,7 +54,7 @@ bigtime_t real_time_clock_usecs(void) { return sRealTimeData->boot_time + system_time() - + sRealTimeData->timezone_offset; + - (sRealTimeData->isGMT ? 0 : sRealTimeData->timezone_offset); }