Adjust tzset() implementation to better follow the POSIX specs and

make some more perl tests happy.
* no longer expect a ICU timezone ID in the TZ environment variable,
  but only expect this format if the TZ-value is starting with ':'
* accept "standard" TZ-values like "EST5" (of which only "EST" is
  relevant to us) - if such a value is specified, we hardcode the
  timezone name to the given value, no matter how ICU calls it
* adjust tests accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39415 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Oliver Tappe
2010-11-13 01:13:38 +00:00
parent 2dfeefba17
commit de2e54ace0
7 changed files with 117 additions and 54 deletions
@@ -45,7 +45,7 @@ public:
virtual status_t Strxfrm(char* out, const char* in, size_t size,
size_t& outSize);
virtual status_t TZSet(const char* timeZoneID);
virtual status_t TZSet(const char* timeZoneID, const char* tz);
virtual status_t Localtime(const time_t* inTime,
struct tm* tmOut);
virtual status_t Gmtime(const time_t* inTime, struct tm* tmOut);
@@ -25,7 +25,7 @@ public:
virtual void Initialize(
TimeConversionDataBridge* dataBridge);
status_t TZSet(const char* timeZoneID);
status_t TZSet(const char* timeZoneID, const char* tz);
status_t Localtime(const time_t* inTime,
struct tm* tmOut);
@@ -127,7 +127,8 @@ public:
virtual status_t Strxfrm(char* out, const char* in, size_t size,
size_t& outSize) = 0;
virtual status_t TZSet(const char* timeZoneID) = 0;
virtual status_t TZSet(const char* timeZoneID,
const char* tz) = 0;
virtual status_t Localtime(const time_t* inTime,
struct tm* tmOut) = 0;
virtual status_t Gmtime(const time_t* inTime,