X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=copy.c;h=b1680149997abbb0a4aee4cbc3ec0cae51705208;hb=873ab02a290cf65ebc01986188c20c3760353db3;hp=e4bb6c46d08f176d2262ac03399104438d2a0165;hpb=96d53ff49c308769efbf708e1e65819077cb7af6;p=apps%2Fmadmutt.git diff --git a/copy.c b/copy.c index e4bb6c4..b168014 100644 --- a/copy.c +++ b/copy.c @@ -702,17 +702,16 @@ mutt_copy_message (FILE * fpout, CONTEXT * src, HEADER * hdr, int flags, int _mutt_append_message (CONTEXT * dest, FILE * fpin, CONTEXT * src, - HEADER * hdr, BODY * body, int flags, int chflags) -{ + 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) - return -1; + 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; chflags |= (dest->magic == M_MAILDIR ? CH_NOSTATUS : CH_UPDATE);