diff options
author | David N. Welton <davidw@efn.org> | 1998-11-09 21:18:01 -0800 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2017-02-20 00:05:27 -0800 |
commit | 926b1b647ac830660933a5e63eb52d4a2552e264 (patch) | |
tree | e25db5f6e1441d67f5d9af063432018ee20a5f51 /timezone.scm | |
parent | b21cac3362022718634f7086964208b2eed8e897 (diff) | |
parent | fa3f23105ddcf07c5900de47f19af43d1db1b597 (diff) | |
download | slib-926b1b647ac830660933a5e63eb52d4a2552e264.tar.gz slib-926b1b647ac830660933a5e63eb52d4a2552e264.zip |
Import Debian changes 2c3-3debian/2c3-3
slib (2c3-3) frozen unstable; urgency=low
* Fixes #16235.
* Fixes #19943.
* Fixes #20265.
* Fixes #24917.
* Fixes #27389.
slib (2c3-2) frozen unstable; urgency=low
* Re-uploaded for slink freeze.
slib (2c3-1) unstable; urgency=low
* New upstream release.
Diffstat (limited to 'timezone.scm')
-rw-r--r-- | timezone.scm | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/timezone.scm b/timezone.scm index 8daa8fb..2890c39 100644 --- a/timezone.scm +++ b/timezone.scm @@ -57,6 +57,25 @@ (define tz:default #f) +;;; 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 (read-tzfile path) + (let ((realpath + (cond ((not path) (in-vicinity tzfile:vicinity "localtime")) + ((or (char-alphabetic? (string-ref path 0)) + (char-numeric? (string-ref path 0))) + (in-vicinity tzfile:vicinity path)) + (else path)))) + (and (file-exists? realpath) + (let ((zone #f)) + (require 'tzfile) + (set! zone (tzfile:read realpath)) + (if zone (list->vector (cons 'tz:file zone)) + (slib:error 'read-tzfile realpath)))))) + ;;; Parse Posix TZ string. (define (string->transition-day-time str) @@ -125,21 +144,6 @@ (vector 'tz:rule tz tzname dtzname offset doffset start end)))) (else #f)))) -(define (read-tzfile path) - (require 'tzfile) - (let ((realpath - (cond ((not path) (in-vicinity tzfile:vicinity "localtime")) - ((or (char-alphabetic? (string-ref path 0)) - (char-numeric? (string-ref path 0))) - (in-vicinity tzfile:vicinity path)) - (else path)))) - (if (file-exists? realpath) - (let ((zone (tzfile:read realpath))) - (if zone (list->vector (cons 'tz:file zone)) - (slib:error 'read-tzfile realpath))) - (slib:error 'read-tzfile "file not found:" realpath) - ))) - (define (time-zone tz) (cond ((not tz) (read-tzfile #f)) ((vector? tz) tz) |