]> granicus.if.org Git - neomutt/commitdiff
Partially fix debian bug #275060 (editing a message in a mbox loses
authorTAKAHASHI Tamotsu <ttakah@lapis.plala.or.jp>
Sat, 12 Feb 2005 19:35:36 +0000 (19:35 +0000)
committerTAKAHASHI Tamotsu <ttakah@lapis.plala.or.jp>
Sat, 12 Feb 2005 19:35:36 +0000 (19:35 +0000)
its flags).

editmsg.c

index 981899a55cd70b8a38a863f1dfedc0c4ce16499e..0d037d4f47e480366a4abb6fcb5e929fa54067b6 100644 (file)
--- a/editmsg.c
+++ b/editmsg.c
@@ -79,7 +79,9 @@ static int edit_one_message (CONTEXT *ctx, HEADER *cur)
     return -1;
   }
 
-  rc = mutt_append_message (&tmpctx, ctx, cur, 0, CH_NOLEN | CH_NOSTATUS); oerrno = errno;
+  rc = mutt_append_message (&tmpctx, ctx, cur, 0, CH_NOLEN |
+       ((ctx->magic == M_MBOX || ctx->magic == M_MMDF) ? 0 : CH_NOSTATUS));
+  oerrno = errno;
 
   mx_close_mailbox (&tmpctx, NULL);
 
@@ -143,7 +145,8 @@ static int edit_one_message (CONTEXT *ctx, HEADER *cur)
     goto bail;
   }
 
-  of = cf = 0;
+  of = 0;
+  cf = ((tmpctx.magic == M_MBOX || tmpctx.magic == M_MMDF) ? 0 : CH_NOSTATUS);
   
   if (fgets (buff, sizeof (buff), fp) && is_from (buff, NULL, 0, NULL))
   {
@@ -171,7 +174,7 @@ static int edit_one_message (CONTEXT *ctx, HEADER *cur)
     goto bail;
   }
 
-  if ((rc = mutt_copy_hdr (fp, msg->fp, 0, sb.st_size, CH_NOSTATUS | CH_NOLEN | cf, NULL)) == 0)
+  if ((rc = mutt_copy_hdr (fp, msg->fp, 0, sb.st_size, CH_NOLEN | cf, NULL)) == 0)
   {
     fputc ('\n', msg->fp);
     rc = mutt_copy_stream (fp, msg->fp);