From 3527bb143b6a6740a9f51b0eaf87c883060c86bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Thu, 25 Jun 2020 18:07:42 +0200 Subject: Merge UTC-OFFSET and TIMESPEC into one. --- module/vcomponent/parse/types.scm | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) (limited to 'module/vcomponent/parse') 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 - (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) -- cgit v1.2.3