Optimised passing around of timezone a bit

* _kern_[sg]et_timezone() now accepts/passes out the timezone name, too
* adjust Time preflet and clockconfig to pass the timezone name into the kernel
  when calling _kern_set_timezone()
* ajust implementation of tzset() to fetch the timezone name from the kernel
  via _kern_get_timezone() instead of reading 'libroot_timezone_info'
* the Time preflet no longer writes 'libroot_timezone_info'


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38164 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Oliver Tappe
2010-08-16 22:01:28 +00:00
parent a096bb6509
commit dbe1e23aa8
7 changed files with 46 additions and 47 deletions
+4 -2
View File
@@ -35,8 +35,10 @@ uint32 get_timezone_offset(void);
bigtime_t _user_system_time(void);
status_t _user_set_real_time_clock(uint32 time);
status_t _user_set_timezone(int32 timezoneOffset);
status_t _user_get_timezone(int32 *_timezoneOffset);
status_t _user_set_timezone(int32 timezoneOffset, const char *name,
size_t nameLength);
status_t _user_get_timezone(int32 *_timezoneOffset, char* name,
size_t nameLength);
status_t _user_set_real_time_clock_is_gmt(bool isGMT);
status_t _user_get_real_time_clock_is_gmt(bool *_isGMT);
@@ -8,6 +8,8 @@
#include <time.h>
#include <StorageDefs.h>
#include "ICUTimeData.h"
#include "LocaleBackend.h"
@@ -39,7 +41,7 @@ private:
TimeConversionDataBridge* fDataBridge;
char fTimeZoneID[64];
char fTimeZoneID[B_FILE_NAME_LENGTH];
};
+4 -2
View File
@@ -363,8 +363,10 @@ extern status_t _kern_stop_watching(dev_t device, ino_t node, port_id port,
// time functions
extern status_t _kern_set_real_time_clock(uint32 time);
extern status_t _kern_set_timezone(int32 timezoneOffset);
extern status_t _kern_get_timezone(int32 *_timezoneOffset);
extern status_t _kern_set_timezone(int32 timezoneOffset, const char *name,
size_t nameLength);
extern status_t _kern_get_timezone(int32 *_timezoneOffset, char *name,
size_t nameLength);
extern status_t _kern_set_real_time_clock_is_gmt(bool isGMT);
extern status_t _kern_get_real_time_clock_is_gmt(bool *_isGMT);