summaryrefslogtreecommitdiffstats
path: root/timezone.scm
diff options
context:
space:
mode:
Diffstat (limited to 'timezone.scm')
-rw-r--r--timezone.scm13
1 files changed, 8 insertions, 5 deletions
diff --git a/timezone.scm b/timezone.scm
index 2890c39..a9149e3 100644
--- a/timezone.scm
+++ b/timezone.scm
@@ -19,14 +19,14 @@
;; The C-library support for time in general and time-zones in particular
;; stands as a fine example of how *not* to create interfaces.
-;;
+;;
;; Functions are not consistently named. Support for GMT is offered in one
;; direction only; The localtime function returns some timezone data in the
;; structure which it returns, and some data in shared global variables.
;; The structure which localtime returns is overwritten with each
;; invocation. There is no way to find local time in zones other than GMT
;; and the local timezone.
-;;
+;;
;; The tzfile(5) format encodes only a single timezone per file. There is
;; no dispatch on zone names, so multiple copies of a timezone file exist
;; under different names. The TZ `:' specification is unix filesystem
@@ -35,14 +35,14 @@
;; ASCII bytes, it is incompatible with different character sizes. The
;; binary format makes it impossible to easily inspect a file for
;; corruption.
-;;
+;;
;; I have corrected most of the failings of the C-library time interface in
;; SLIB while maintaining compatablility. I wrote support for Linux
;; timezone files because on a system where TZ is not set, there is no
;; other way to reveal this information. HP-UX appears to have a more
;; sensible arrangement; I invite you to add support for it and other
;; platforms.
-;;
+;;
;; Writing this was a long, tedious, and unenlightening process. I hope it
;; is useful.
;;
@@ -60,7 +60,10 @@
;;; This definition is here so that READ-TZFILE can verify the
;;; existence of these files before loading tzfile.scm to actually
;;; read them.
-(define tzfile:vicinity (make-vicinity "/usr/lib/zoneinfo/"))
+(define tzfile:vicinity (make-vicinity
+ (if (file-exists? "/usr/share/zoneinfo/.")
+ "/usr/share/zoneinfo/"
+ "/usr/lib/zoneinfo/")))
(define (read-tzfile path)
(let ((realpath