On 2016-03-02 18:43, Guy Harris wrote:
On Mar 2, 2016, at 6:08 PM, Paul Eggert <eggert@cs.ucla.edu> wrote:
Brian Inglis wrote:
On 2016-03-02 16:19, Ian Abbott wrote:
On 03/02/16 23:02, Paul Eggert wrote:
The TZ string "PST+8PDT" doesn't conform to POSIX, It doesn't?
It does appear to conform - see:
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_...
It "conforms" in the sense that its syntax matches the POSIX spec. However, no semantics are specified by POSIX for what daylight-saving rules are in effect when TZ="PST+8PDT" is in the environment. Glibc is within its rights, for example, to assume that DST in effect only one second during the year -- or even not in effect any time.
The same, of course, applies to PST8PDT and so on; it's not as if the "+" is somehow magical. (I presume Aurelien put it in there to force the glibc time zone code *not* to treat the TZ value as a tzdb compiled file name.)
This value is part of the mercurial testsuite, which now fails to pass on 32-bit machines due to this issue. It passes on 64-bit machines, so I guess that's why the problem hasn't been encountered by the developers. See: https://selenic.com/hg/file/e96d2956eb4a/tests/test-parse-date -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurelien@aurel32.net http://www.aurel32.net