few tweaks about changed defines.
[apps/madmutt.git] / recvattach.c
index 301b12e..ccbcf1a 100644 (file)
@@ -17,9 +17,9 @@
 #include <lib-ui/enter.h>
 #include <lib-ui/menu.h>
 #include <lib-mx/mx.h>
-#include <lib-crypt/crypt.h>
 
 #include "mutt.h"
+#include "crypt.h"
 #include "handler.h"
 #include "recvattach.h"
 #include "attach.h"
@@ -333,7 +333,7 @@ int mutt_tag_attach (MUTTMENU * menu, int n, int m)
 static int mutt_query_save_attachment (FILE * fp, BODY * body, HEADER * hdr,
                                        char **directory)
 {
-  char *prompt;
+  const char *prompt;
   char buf[_POSIX_PATH_MAX], tfile[_POSIX_PATH_MAX];
   int is_message;
   int append = 0;
@@ -486,33 +486,32 @@ void mutt_save_attachment_list (FILE * fp, int tag, BODY * top, HEADER * hdr,
 }
 
 static void
-mutt_query_pipe_attachment (char *command, FILE * fp, BODY * body, int afilter)
+mutt_query_pipe_attachment(char *command, FILE * fp, BODY * body, int afilter)
 {
   char tfile[_POSIX_PATH_MAX];
   char warning[STRING + _POSIX_PATH_MAX];
+  int tempfd = -1;
 
   if (afilter) {
-    snprintf (warning, sizeof (warning),
-              _("WARNING!  You are about to overwrite %s, continue?"),
-              body->filename);
+    snprintf(warning, sizeof (warning),
+             _("WARNING!  You are about to overwrite %s, continue?"),
+             body->filename);
     if (mutt_yesorno (warning, M_NO) != M_YES) {
       CLEARLINE (LINES - 1);
       return;
     }
-    mutt_mktemp (tfile);
-  } else {
-    tfile[0] = '\0';
+    tempfd = m_tempfd(tfile, sizeof(tfile), NONULL(MCore.tmpdir), NULL);
   }
 
-  if (mutt_pipe_attachment (fp, body, command, tfile)) {
+  if (mutt_pipe_attachment(fp, body, command, tempfd)) {
     if (afilter) {
       mutt_unlink (body->filename);
       mutt_rename_file (tfile, body->filename);
       mutt_update_encoding (body);
       mutt_message _("Attachment filtered.");
     }
-  } else {
-    if (afilter && tfile[0])
+  } else if (afilter) {
+      close(tempfd);
       mutt_unlink (tfile);
   }
 }
@@ -633,10 +632,10 @@ static void print_attachment_list (FILE * fp, int tag, BODY * top,
 
           char newfile[_POSIX_PATH_MAX] = "";
           FILE *ifp;
+          int newfile_fd;
 
-          mutt_mktemp (newfile);
-          if (mutt_decode_save_attachment (fp, top, newfile, M_PRINTING, 0) ==
-              0) {
+          newfile_fd = m_tempfd(newfile, sizeof(newfile), NONULL(MCore.tmpdir), NULL);
+          if (mutt_decode_save_attachment (fp, top, newfile_fd, M_PRINTING) == 0) {
             if ((ifp = fopen (newfile, "r")) != NULL) {
               mutt_copy_stream (ifp, state->fpout);
               m_fclose(&ifp);
@@ -826,14 +825,7 @@ void mutt_view_attachments (HEADER * hdr)
   {
     need_secured = 1;
 
-    if ((hdr->security & ENCRYPT) && !crypt_valid_passphrase (hdr->security)) {
-      mx_close_message (&msg);
-      return;
-    }
     if (hdr->security & APPLICATION_SMIME) {
-      if (hdr->env)
-        crypt_smime_getkeys (hdr->env);
-
       if (mutt_is_application_smime (hdr->content)) {
         secured = !crypt_smime_decrypt_mime (msg->fp, &fp,
                                              hdr->content, &cur);
@@ -936,10 +928,6 @@ void mutt_view_attachments (HEADER * hdr)
       mutt_update_attach_index (cur, &idx, &idxlen, &idxmax, menu);
       break;
 
-    case OP_FORGET_PASSPHRASE:
-      crypt_forget_passphrase ();
-      break;
-
     case OP_EXTRACT_KEYS:
       crypt_pgp_extract_keys_from_attachment_list (fp, menu->tagprefix,
                                                    menu->