summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Isaac2019-09-28 13:27:33 +0530
committerArun Isaac2019-09-28 13:31:10 +0530
commit9d82904011516530b6ef1bcd53cef220db485e7a (patch)
treec41d7e9edb89efef4cc19466d865381b2354919d
parentf37b33d163016a6deec5c23bc860447a2eaefcb9 (diff)
downloadguile-email-9d82904011516530b6ef1bcd53cef220db485e7a.tar.gz
guile-email-9d82904011516530b6ef1bcd53cef220db485e7a.tar.lz
guile-email-9d82904011516530b6ef1bcd53cef220db485e7a.zip
email: Tolerate decoding errors in MIME encoded words.
* email/email.scm (decode-mime-encoded-word): Tolerate decoding errors in MIME encoded words using the substitute conversion strategy. * tests/email.scm ("tolerate decoding errors in MIME encoded words"): New test. Reported-by: Christopher Baines <mail@cbaines.net>
-rw-r--r--email/email.scm2
-rw-r--r--tests/email.scm6
2 files changed, 7 insertions, 1 deletions
diff --git a/email/email.scm b/email/email.scm
index ef2efe9..a791a0e 100644
--- a/email/email.scm
+++ b/email/email.scm
@@ -564,7 +564,7 @@
((q) q-encoding-decode)
(else (error "Encoding of MIME word unknown" word)))
encoded-text)
- charset)))
+ charset 'substitute)))
'post))
(define (body->mime-entities body boundary)
diff --git a/tests/email.scm b/tests/email.scm
index 1346b20..ca0ebc3 100644
--- a/tests/email.scm
+++ b/tests/email.scm
@@ -351,4 +351,10 @@ body" "iso-8859-1"))
(content-transfer-encoding . 7bit)
(subject . "Foo Bãr")))
+(test-equal "tolerate decoding errors in MIME encoded words"
+ ((module-ref (resolve-module '(email email))
+ 'decode-mime-encoded-word)
+ "=?UTF-8?Q?B=E8r?=")
+ "B�r")
+
(test-end "email")