From f9e23ba55ca200f96e73f4a9e83f1065602b1f6f Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 8 Oct 2019 20:29:29 +0530 Subject: email: Override invalid charset more strongly. * email/email.scm (post-process-content-type): Use alist-combine to override charset more strongly than just appending to the alist. * tests/email.scm ("tolerate invalid charset"): Update test. --- email/email.scm | 2 +- tests/email.scm | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/email/email.scm b/email/email.scm index 43f9a72..7cef7e7 100644 --- a/email/email.scm +++ b/email/email.scm @@ -680,7 +680,7 @@ values. The returned headers is a string and body is a bytevector." ;; charset. Should we check for the validity of the ;; entire Content-Type header? If so, how? (not (valid-charset? (assoc-ref parameters 'charset))))) - (acons 'charset "utf-8" parameters)) + (alist-combine parameters (acons* 'charset "utf-8"))) (else parameters)))))))) (define post-process-content-disposition diff --git a/tests/email.scm b/tests/email.scm index fb7e618..c82f567 100644 --- a/tests/email.scm +++ b/tests/email.scm @@ -351,8 +351,7 @@ body" "iso-8859-1")) `((content-transfer-encoding . 7bit) (content-type (type . text) (subtype . plain) - (charset . "utf-8") - (charset . "foo")))) + (charset . "utf-8")))) (test-email= "tolerate decoding errors in body" (parse-email -- cgit v1.2.3