John Russell schrieb:
According the the scsh manual, (date) is supposed to return the
current date in the local time zone. However, in the Cygwin
scsh-0.6.7-2 package, it only works that way the first time that
(date) is called. After that, it returns dates in the UTC timezone.
Test script:
#!/usr/bin/scsh -s
!#
(define (show-date d)
(display (date:tz-name d))
(display " ")
(display (date:tz-secs d))
(newline))
(show-date (date))
(show-date (date))
Using the Cygwin scsh-0.6.7-2 package, I get this incorrect output --
the two lines should be the same:
PST+8 -28800
UCT 0
I uninstalled the Cygwin scsh package, and rebuilt scsh from source,
using the scsh-0.6.7.tar.gz tarball. I got the same incorrect
results.
I remade scsh in a Fedora environment from the same tarball, and I got
correct results:
PST+8 -28800
PST+8 -28800
So far, I haven't figured out why I get different results on Cygwin.
I did observe that, on Cygwin, different #ifdef compilation conditions
are used in compiling time1.c. When compiling on Cygwin, HAVE_TZNAME
is true and HAVE_STRUCT_TM_TM_ZONE is false. When compiling on
Fedora, the opposite is the case. I don't know if that is relevant to
my problem, but I thought I'd mention it for what it's worth.
Any suggestions will be much appreciated!
Thanks.
It looks like a untested logic for our HAVE_TZNAME case.
Please report upstream.
--
Reini Urban
http://phpwiki.org/ http://murbreak.at/
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/