X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=editmsg.c;h=c66f5eea6c3568d620a78c93a591a04b34c89289;hp=8f2a9fa9d5684e814a541610e4e82b8c06d52cad;hb=4fb2fb9b1c03ad9ffd59ff86f7eaa697e46ef49d;hpb=ee1d4d931ca3ebec494694b74a1868a7a2e631e3 diff --git a/editmsg.c b/editmsg.c index 8f2a9fa..c66f5ee 100644 --- a/editmsg.c +++ b/editmsg.c @@ -9,21 +9,12 @@ /* simple, editor-based message editing */ -#if HAVE_CONFIG_H -# include "config.h" -#endif +#include +#include +#include #include "mutt.h" #include "copy.h" -#include "mx.h" - -#include "lib/intl.h" -#include "lib/str.h" - -#include -#include - -#include /* * return value: @@ -53,6 +44,7 @@ static int edit_one_message (CONTEXT * ctx, HEADER * cur) struct stat sb; time_t mtime = 0; + ssize_t size = 0; mutt_mktemp (tmp); @@ -81,8 +73,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 @@ -92,13 +86,13 @@ 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; } - mutt_edit_file (NONULL (Editor), tmp); + mutt_edit_file(tmp); if ((rc = stat (tmp, &sb)) == -1) { mutt_error (_("Can't stat %s: %s"), tmp, strerror (errno)); @@ -111,7 +105,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; @@ -171,8 +165,7 @@ static int edit_one_message (CONTEXT * ctx, HEADER * cur) mx_close_mailbox (&tmpctx, NULL); bail: - if (fp) - fclose (fp); + m_fclose(&fp); if (rc >= 0) unlink (tmp);