Use p_new instead of xmalloc()
[apps/madmutt.git] / commands.c
index 85ff46a..3590596 100644 (file)
@@ -69,7 +69,7 @@ int mutt_display_message (HEADER * cur)
                                        -1, fileno (fpfilterout), -1);
     if (filterpid < 0) {
       mutt_error (_("Cannot create display filter"));
-      safe_fclose (&fpfilterout);
+      m_fclose(&fpfilterout);
       unlink (tempfile);
       return 0;
     }
@@ -128,28 +128,18 @@ int mutt_display_message (HEADER * cur)
     mx_close_message (&msg);
   }
 
-  if ((safe_fclose (&fpout) != 0 && errno != EPIPE) || res == -1) {
+  if ((m_fclose(&fpout) != 0 && errno != EPIPE) || res == -1) {
     mutt_error (_("Could not copy message"));
     if (fpfilterout != NULL) {
       mutt_wait_filter (filterpid);
-      safe_fclose (&fpfilterout);
+      m_fclose(&fpfilterout);
     }
-#if 0
-    /* this is maybe just plain wrong but it makes the pager display
-     * what we have; i.e. for the crypto stuff we only get
-     * 'Could not copy message' for invalid passphrases, no PGP output
-     * not nothing; so just display what we have...
-     * - pdmef
-     */
-    mutt_unlink (tempfile);
-    return 0;
-#endif
   }
 
   if (fpfilterout != NULL && mutt_wait_filter (filterpid) != 0)
     mutt_any_key_to_continue (NULL);
 
-  safe_fclose (&fpfilterout);   /* XXX - check result? */
+  m_fclose(&fpfilterout);   /* XXX - check result? */
 
 
   /* update crypto information for this message */
@@ -217,7 +207,7 @@ int mutt_display_message (HEADER * cur)
 
 void ci_bounce_message (HEADER * h, int *redraw)
 {
-  char prompt[SHORT_STRING];
+  char prompt[STRING];
   char buf[HUGE_STRING] = { 0 };
   address_t *adr = NULL;
   char *err = NULL;
@@ -254,14 +244,14 @@ void ci_bounce_message (HEADER * h, int *redraw)
   }
 
   buf[0] = 0;
-  rfc822_write_address (buf, sizeof (buf), adr, 1);
+  rfc822_addrcat(buf, sizeof (buf), adr, 1);
 
 #define extra_space (15 + 7 + 2)
   snprintf (prompt, sizeof (prompt),
             (h ? _("Bounce message to %s") : _("Bounce messages to %s")),
             buf);
 
-  if (mutt_strwidth (prompt) > COLS - extra_space) {
+  if (m_strwidth(prompt) > COLS - extra_space) {
     mutt_format_string(prompt, sizeof(prompt), 0, COLS - extra_space, 0, 0,
                        prompt, sizeof(prompt), 0);
     m_strcat(prompt, sizeof(prompt), "...?");
@@ -356,7 +346,7 @@ static int _mutt_pipe_message(HEADER * h, char *cmd, int decode, int print,
     }
 
     pipe_msg (h, fpout, decode, print);
-    fclose (fpout);
+    m_fclose(&fpout);
     rc = mutt_wait_filter (thepid);
   }
   else {                        /* handle tagged messages */
@@ -389,7 +379,7 @@ static int _mutt_pipe_message(HEADER * h, char *cmd, int decode, int print,
           /* add the message separator */
           if (sep)
             fputs (sep, fpout);
-          safe_fclose (&fpout);
+          m_fclose(&fpout);
           if (mutt_wait_filter (thepid) != 0)
             rc = 1;
         }
@@ -412,7 +402,7 @@ static int _mutt_pipe_message(HEADER * h, char *cmd, int decode, int print,
             fputs (sep, fpout);
         }
       }
-      safe_fclose (&fpout);
+      m_fclose(&fpout);
       if (mutt_wait_filter (thepid) != 0)
         rc = 1;
     }
@@ -441,7 +431,7 @@ void mutt_pipe_message (HEADER * h)
 void mutt_print_message (HEADER * h)
 {
 
-  if (quadoption (OPT_PRINT) && (!PrintCmd || !*PrintCmd)) {
+  if (quadoption (OPT_PRINT) && m_strisempty(PrintCmd)) {
     mutt_message (_("No printing command has been defined."));
     return;
   }
@@ -544,7 +534,7 @@ void mutt_shell_escape (void)
 void mutt_enter_command (void)
 {
   BUFFER err, token;
-  char buffer[LONG_STRING], errbuf[SHORT_STRING];
+  char buffer[LONG_STRING], errbuf[STRING];
   int r;
 
   buffer[0] = 0;
@@ -570,7 +560,7 @@ void mutt_enter_command (void)
 void mutt_display_address (ENVELOPE * env)
 {
   const char *pfx = NULL;
-  char buf[SHORT_STRING];
+  char buf[STRING];
   address_t *adr = NULL;
 
   adr = mutt_get_address(env, &pfx);
@@ -586,7 +576,7 @@ void mutt_display_address (ENVELOPE * env)
    */
 
   buf[0] = 0;
-  rfc822_write_address (buf, sizeof (buf), adr, 0);
+  rfc822_addrcat(buf, sizeof (buf), adr, 0);
   mutt_message ("%s: %s", pfx, buf);
 }
 
@@ -651,7 +641,7 @@ int mutt_save_message (HEADER * h, int delete,
                        int decode, int decrypt, int *redraw) {
   int i, need_buffy_cleanup;
   int need_passphrase = 0, app = 0;
-  char prompt[SHORT_STRING], buf[_POSIX_PATH_MAX];
+  char prompt[STRING], buf[_POSIX_PATH_MAX];
   CONTEXT ctx;
   struct stat st;
   struct utimbuf ut;
@@ -863,12 +853,12 @@ void mutt_edit_content_type (HEADER * h, BODY * b, FILE * fp)
 
   if (!is_multipart(b) && b->parts)
     body_list_wipe(&b->parts);
-  if (!mutt_is_message_type (b->type, b->subtype) && b->hdr) {
+  if (!mutt_is_message_type(b) && b->hdr) {
     b->hdr->content = NULL;
     header_delete(&b->hdr);
   }
 
-  if (fp && (is_multipart(b) || mutt_is_message_type(b->type, b->subtype)))
+  if (fp && (is_multipart(b) || mutt_is_message_type(b)))
     mutt_parse_part (fp, b);
 
   if (h) {