diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-06-25 18:07:42 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-06-25 18:25:33 +0200 |
commit | 3527bb143b6a6740a9f51b0eaf87c883060c86bc (patch) | |
tree | cffd80ff75b3ee0d2c030e3e067403d4dbcf3a3b /module/vcomponent/parse | |
parent | Fix minor spelling error. (diff) | |
download | calp-3527bb143b6a6740a9f51b0eaf87c883060c86bc.tar.gz calp-3527bb143b6a6740a9f51b0eaf87c883060c86bc.tar.xz |
Merge UTC-OFFSET and TIMESPEC into one.
Diffstat (limited to 'module/vcomponent/parse')
-rw-r--r-- | module/vcomponent/parse/types.scm | 24 |
1 files changed, 11 insertions, 13 deletions
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) |