aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent
diff options
context:
space:
mode:
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)