From 9fe803c35d9333fdab3fff633030826b8c9351a4 Mon Sep 17 00:00:00 2001 From: Brendan Cully Date: Sun, 24 Jul 2005 08:59:44 +0000 Subject: [PATCH] Don't assume messages in MMDF mailboxes have From separators when copying them. Spotted by William Lovas. Initial patch by TAKAHASHI Tamotsu. --- copy.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/copy.c b/copy.c index 669de9adb..d1b3f7c2d 100644 --- a/copy.c +++ b/copy.c @@ -701,10 +701,15 @@ int _mutt_append_message (CONTEXT *dest, FILE *fpin, CONTEXT *src, HEADER *hdr, BODY *body, int flags, int chflags) { + char buf[STRING]; MESSAGE *msg; int r; - if ((msg = mx_open_new_message (dest, hdr, (src->magic == M_MBOX || src->magic == M_MMDF) ? 0 : M_ADD_FROM)) == NULL) + fseek(fpin, hdr->offset, 0); + if (fgets (buf, sizeof (buf), fpin) == NULL) + return -1; + + if ((msg = mx_open_new_message (dest, hdr, is_from (buf, NULL, 0, NULL) ? 0 : M_ADD_FROM)) == NULL) return -1; if (dest->magic == M_MBOX || dest->magic == M_MMDF) chflags |= CH_FROM | CH_FORCE_FROM; -- 2.40.0