From 72852f0233828a43af6fae3b27c111dcbedd8d40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Mon, 6 Jul 2020 01:14:25 +0200 Subject: Resolve whitespace in binary. --- module/vcomponent/parse/types.scm | 4 +++- module/vcomponent/parse/xcal.scm | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'module') diff --git a/module/vcomponent/parse/types.scm b/module/vcomponent/parse/types.scm index 552aa191..2ba9a553 100644 --- a/module/vcomponent/parse/types.scm +++ b/module/vcomponent/parse/types.scm @@ -12,7 +12,9 @@ (unless (string=? "BASE64" (hashq-ref props 'ENCODING)) (warning "Binary field not marked ENCODING=BASE64")) - ;; TODO whitespace in binary? + ;; For icalendar no extra whitespace is allowed in a + ;; binary field (except for line wrapping). This differs + ;; from xcal. (base64-string->bytevector value)) ;; BOOLEAN diff --git a/module/vcomponent/parse/xcal.scm b/module/vcomponent/parse/xcal.scm index 19d7286a..513de1f2 100644 --- a/module/vcomponent/parse/xcal.scm +++ b/module/vcomponent/parse/xcal.scm @@ -16,8 +16,9 @@ (case type [(binary) - ;; TODO rfc6321 allows whitespace in binary? - (base64-string->bytevector (car value))] + ;; rfc6321 allows whitespace in binary + (base64-string->bytevector + (string-delete char-set:whitespace (car value)))] [(boolean) (string=? "true" (car value))] -- cgit v1.2.3