From d42ba61061a105389796b4aa36194e74dce83e40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Thu, 3 Oct 2019 23:22:24 +0200 Subject: Fix problem with no end date. --- module/vcomponent.scm | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/module/vcomponent.scm b/module/vcomponent.scm index c2e65d19..9bd70689 100644 --- a/module/vcomponent.scm +++ b/module/vcomponent.scm @@ -48,14 +48,18 @@ (define date (parse-datetime (value dptr))) (define end-date - (begin (format #t "end-date, file = ~a~%" (attr ev 'X-HNH-FILENAME)) - ;; It's here it crashes! - ;; (value eptr) - ;; /home/hugo/.local/var/cal/lithekod_styrelse/9cd19ed2ac0f68f68c405010e43bcf3a5fd6ca01e8f2e0ccf909a0f2fa96532f.ics - ;; An object apparently doesn't need to have a DTEND... - (aif (value eptr) - (parse-datetime it) - (set (date-hour date) = (+ 1))))) + (cond [(not eptr) + (format #t "date = ~a~%" date) + (let ((d (set (date-hour date) = (+ 1)))) + (set! (attr ev 'DTEND) d + eptr (attr* ev 'DTEND)) + d + )] + [(value eptr) => parse-datetime] + [else + (format #t "date = ~a~%" date) + (set (date-hour date) = (+ 1))]) + ) (format #t "ev = ~a~%file = ~a~%" ev (attr ev 'X-HNH-FILENAME)) @@ -64,6 +68,8 @@ (set! (value dptr) (date->time-utc date) (value eptr) (date->time-utc end-date)) + (format #t "After first set") + (when (prop (attr* ev 'DTSTART) 'TZID) (set! (zone-offset date) (get-tz-offset ev) (value dptr) (date->time-utc date) -- cgit v1.2.3