X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=editmsg.c;h=f51174938885cbfbaf9c36a6536b1df24b0a6dcf;hp=b4e28a3d9a36725ae0d5f6e3c32d0ad83f95a86a;hb=f9c8b43480b416548e29d2fccc2a7c5086a6c3a1;hpb=c3e57678c8be193fc137854020f3a90887be97c9 diff --git a/editmsg.c b/editmsg.c index b4e28a3..f511749 100644 --- a/editmsg.c +++ b/editmsg.c @@ -13,11 +13,15 @@ # include "config.h" #endif +#include +#include +#include + #include "mutt.h" #include "copy.h" -#include "mailbox.h" #include "mx.h" + #include #include @@ -51,6 +55,7 @@ static int edit_one_message (CONTEXT * ctx, HEADER * cur) struct stat sb; time_t mtime = 0; + ssize_t size = 0; mutt_mktemp (tmp); @@ -79,8 +84,10 @@ static int edit_one_message (CONTEXT * ctx, HEADER * cur) goto bail; } - if (stat (tmp, &sb) == 0) + if (stat (tmp, &sb) == 0) { mtime = sb.st_mtime; + size = sb.st_size; + } /* * 2002-09-05 me@sigpipe.org @@ -90,7 +97,7 @@ static int edit_one_message (CONTEXT * ctx, HEADER * cur) * remove it, the message will grow by one line each time the user edits * the message. */ - if (sb.st_size != 0 && truncate (tmp, sb.st_size - 1) == -1) { + if (size != 0 && truncate (tmp, --size) == -1) { mutt_error (_("could not truncate temporary mail folder: %s"), strerror (errno)); goto bail; @@ -109,7 +116,7 @@ static int edit_one_message (CONTEXT * ctx, HEADER * cur) goto bail; } - if (sb.st_mtime == mtime) { + if (sb.st_mtime == mtime && sb.st_size == size) { mutt_message (_("Message not modified!")); rc = 1; goto bail;