From 1f7c45fa0b71bd137e4b661e0d473c3eb9c98f48 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sun, 28 Jul 2019 12:11:53 +0530 Subject: email: Read mboxes as bytevectors. * email/email.scm (read-next-email-in-mbox): Read bytes from mboxes, not characters. --- email/email.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/email/email.scm b/email/email.scm index 565f8e7..7dc882c 100644 --- a/email/email.scm +++ b/email/email.scm @@ -894,8 +894,10 @@ list of header keys and values." ;; Read and discard From_ line (get-line-with-delimiter port) ;; Read the actual email - (read-while port get-line-with-delimiter - (negate (cut string-prefix? "From " <>)))) + (let ((email (read-bytes-till + port (string->bytevector "\nFrom " "us-ascii")))) + (read-char port) + email)) (define (mbox->emails port) (read-objects read-next-email-in-mbox port)) -- cgit v1.2.3