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
This commit is contained in:
Jérôme Duval
2004-11-22 21:54:24 +00:00
parent 92a076fcce
commit e2383c107d
2 changed files with 7 additions and 7 deletions
+5 -5
View File
@@ -123,7 +123,7 @@ void
set_real_time_clock(uint32 currentTime) set_real_time_clock(uint32 currentTime)
{ {
sRealTimeData->boot_time = currentTime * 1000000LL - system_time() sRealTimeData->boot_time = currentTime * 1000000LL - system_time()
- sRealTimeData->timezone_offset; + (sRealTimeData->isGMT ? 0 : sRealTimeData->timezone_offset);
rtc_system_to_hw(); rtc_system_to_hw();
} }
@@ -131,8 +131,8 @@ set_real_time_clock(uint32 currentTime)
uint32 uint32
real_time_clock(void) real_time_clock(void)
{ {
return (sRealTimeData->boot_time + system_time() + return (sRealTimeData->boot_time + system_time() -
sRealTimeData->timezone_offset) / 1000000; (sRealTimeData->isGMT ? 0 : sRealTimeData->timezone_offset)) / 1000000;
} }
@@ -140,8 +140,8 @@ bigtime_t
real_time_clock_usecs(void) real_time_clock_usecs(void)
{ {
// ToDo: implement me - they might be used directly from libroot/os/time.c // ToDo: implement me - they might be used directly from libroot/os/time.c
return sRealTimeData->boot_time + system_time() + return sRealTimeData->boot_time + system_time() -
sRealTimeData->timezone_offset; (sRealTimeData->isGMT ? 0 : sRealTimeData->timezone_offset);
} }
// #pragma mark - // #pragma mark -
+2 -2
View File
@@ -46,7 +46,7 @@ uint32
real_time_clock(void) real_time_clock(void)
{ {
return (sRealTimeData->boot_time + system_time() 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) real_time_clock_usecs(void)
{ {
return sRealTimeData->boot_time + system_time() return sRealTimeData->boot_time + system_time()
+ sRealTimeData->timezone_offset; - (sRealTimeData->isGMT ? 0 : sRealTimeData->timezone_offset);
} }