aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-06-25 18:07:42 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2020-06-25 18:25:33 +0200
commit3527bb143b6a6740a9f51b0eaf87c883060c86bc (patch)
treecffd80ff75b3ee0d2c030e3e067403d4dbcf3a3b /module/vcomponent
parentFix minor spelling error. (diff)
downloadcalp-3527bb143b6a6740a9f51b0eaf87c883060c86bc.tar.gz
calp-3527bb143b6a6740a9f51b0eaf87c883060c86bc.tar.xz
Merge UTC-OFFSET and TIMESPEC into one.
Diffstat (limited to 'module/vcomponent')
-rw-r--r--module/vcomponent/datetime.scm1
-rw-r--r--module/vcomponent/parse/types.scm24
2 files changed, 12 insertions, 13 deletions
diff --git a/module/vcomponent/datetime.scm b/module/vcomponent/datetime.scm
index 057b9ca1..f4f517eb 100644
--- a/module/vcomponent/datetime.scm
+++ b/module/vcomponent/datetime.scm
@@ -2,6 +2,7 @@
#:use-module (srfi srfi-1)
#:use-module (vcomponent base)
#:use-module (datetime)
+ #:use-module (datetime timespec)
#:use-module (datetime util)
#:use-module (datetime zic)
#:use-module (util)
diff --git a/module/vcomponent/parse/types.scm b/module/vcomponent/parse/types.scm
index 7e4df6b7..e9c5e811 100644
--- a/module/vcomponent/parse/types.scm
+++ b/module/vcomponent/parse/types.scm
@@ -102,23 +102,21 @@
(define (parse-uri props value)
value)
-(define-immutable-record-type <utc-offset>
- (make-utc-offset pm hour minute second)
- utc-offset?
- (pm offset-pm)
- (hour offset-hour)
- (minute offset-minute)
- (second offset-second))
+(use-modules (datetime timespec))
;; UTC-OFFSET
(define (parse-utc-offset props value)
- (make-utc-offset
+ (make-timespec
+ (time
+ hour: (string->number (substring value 1 3))
+ minute: (string->number (substring value 3 5))
+ second: (if (= 7 (string-length value))
+ (string->number (substring value 5 7))
+ 0))
+ ;; sign
(string->symbol (substring value 0 1))
- (string->number (substring value 1 3))
- (string->number (substring value 3 5))
- (if (= 7 (string-length value))
- (string->number (substring value 5 7))
- 0)))
+ #\z))
+
(define type-parsers (make-hash-table))
(hashq-set! type-parsers 'BINARY parse-binary)