X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=headers.c;h=b083ded4b78071d81c4021a0d15b38640477787c;hp=244604105c579c73be580d6795d28e6e2adb7052;hb=e4704214cabdd0b6e10b27cff5e2194959559809;hpb=1ee89902de184a640c171ae3285bff6882a791bd diff --git a/headers.c b/headers.c index 2446041..b083ded 100644 --- a/headers.c +++ b/headers.c @@ -8,16 +8,15 @@ */ #include -#include +#include #include "mutt.h" #include "alias.h" -#include +#include "crypt.h" #include "mutt_idna.h" -void mutt_edit_headers (const char *editor, - const char *body, - HEADER * msg, char *fcc, ssize_t fcclen) +void mutt_edit_headers(const char *body, + HEADER * msg, char *fcc, ssize_t fcclen) { char path[_POSIX_PATH_MAX]; /* tempfile used to edit headers + body */ char buffer[LONG_STRING]; @@ -29,14 +28,14 @@ void mutt_edit_headers (const char *editor, struct stat st; string_list_t *cur, **last = NULL, *tmp; - mutt_mktemp (path); - if ((ofp = safe_fopen (path, "w")) == NULL) { + ofp = m_tempfile(path, sizeof(path), NONULL(mod_core.tmpdir), NULL); + if (!ofp) { mutt_perror (path); return; } mutt_env_to_local (msg->env); - mutt_write_rfc822_header (ofp, msg->env, NULL, 1, 0); + mutt_write_rfc822_header (ofp, msg->env, NULL, 1); fputc ('\n', ofp); /* tie off the header. */ /* now copy the body of the message. */ @@ -47,17 +46,17 @@ void mutt_edit_headers (const char *editor, mutt_copy_stream (ifp, ofp); - fclose (ifp); - fclose (ofp); + m_fclose(&ifp); + m_fclose(&ofp); if (stat (path, &st) == -1) { mutt_perror (path); return; } - mtime = mutt_decrease_mtime (path, &st); + mtime = m_decrease_mtime(path, &st); - mutt_edit_file (editor, path); + mutt_edit_file(path); stat (path, &st); if (mtime == st.st_mtime) { /* the file has not changed! */ @@ -76,7 +75,7 @@ void mutt_edit_headers (const char *editor, if ((ofp = safe_fopen (body, "w")) == NULL) { /* intentionally leak a possible temporary file here */ - fclose (ifp); + m_fclose(&ifp); mutt_perror (body); return; } @@ -84,8 +83,8 @@ void mutt_edit_headers (const char *editor, n = mutt_read_rfc822_header (ifp, NULL, 1, 0); while ((i = fread (buffer, 1, sizeof (buffer), ifp)) > 0) fwrite (buffer, 1, i, ofp); - fclose (ofp); - fclose (ifp); + m_fclose(&ofp); + m_fclose(&ifp); mutt_unlink (path); /* restore old info. */ @@ -97,10 +96,7 @@ void mutt_edit_headers (const char *editor, n = NULL; if (!msg->env->in_reply_to) -#ifdef USE_NNTP - if (!option (OPTNEWSSEND)) -#endif - string_list_wipe(&msg->env->references); + string_list_wipe(&msg->env->references); mutt_expand_aliases_env (msg->env);