- fix one more use of SidebarWidth without checking for visibility (reported by Trey...
[apps/madmutt.git] / postpone.c
index 0eeac68..a197f12 100644 (file)
@@ -1,20 +1,11 @@
 /*
+ * Copyright notice from original mutt:
  * Copyright (C) 1996-2002 Michael R. Elkins <me@mutt.org>
  * Copyright (C) 1999-2000 Thomas Roessler <roessler@does-not-exist.org>
- * 
- *     This program is free software; you can redistribute it and/or modify
- *     it under the terms of the GNU General Public License as published by
- *     the Free Software Foundation; either version 2 of the License, or
- *     (at your option) any later version.
- * 
- *     This program is distributed in the hope that it will be useful,
- *     but WITHOUT ANY WARRANTY; without even the implied warranty of
- *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *     GNU General Public License for more details.
- * 
- *     You should have received a copy of the GNU General Public License
- *     along with this program; if not, write to the Free Software
- *     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
+ *
+ * This file is part of mutt-ng, see http://www.muttng.org/.
+ * It's licensed under the GNU General Public License,
+ * please see the file GPL in the top level source directory.
  */
 
 #if HAVE_CONFIG_H
 #endif
 
 #include "mutt.h"
+#include "ascii.h"
+#include "enter.h"
+#include "handler.h"
 #include "mutt_menu.h"
 #include "rfc1524.h"
 #include "mime.h"
-#include "mailbox.h"
 #include "mapping.h"
 #include "sort.h"
-#ifdef USE_IMAP
+#include "thread.h"
 #include "mx.h"
+#ifdef USE_IMAP
 #include "imap.h"
+#include "imap/mx_imap.h"
 #endif
 #include "mutt_crypt.h"
 
+#include "lib/mem.h"
+#include "lib/intl.h"
+#include "lib/str.h"
+#include "lib/debug.h"
+
 #include <ctype.h>
 #include <unistd.h>
 #include <string.h>
@@ -81,22 +81,17 @@ int mutt_num_postponed (int force)
 
 #ifdef USE_IMAP
   /* LastModify is useless for IMAP */
-  if (mx_is_imap (Postponed)) {
+  if (imap_is_magic (Postponed, NULL) == M_IMAP) {
     if (force) {
       short newpc;
 
       newpc = imap_mailbox_check (Postponed, 0);
       if (newpc >= 0) {
         PostCount = newpc;
-        dprint (2,
-                (debugfile,
-                 "mutt_num_postponed: %d postponed IMAP messages found.\n",
-                 PostCount));
+        debug_print (2, ("%d postponed IMAP messages found.\n", PostCount));
       }
       else
-        dprint (2,
-                (debugfile,
-                 "mutt_num_postponed: using old IMAP postponed count.\n"));
+        debug_print (2, ("using old IMAP postponed count.\n"));
     }
     return PostCount;
   }
@@ -257,7 +252,7 @@ int mutt_get_postponed (CONTEXT * ctx, HEADER * hdr, HEADER ** cur, char *fcc,
   if (!PostContext->msgcount) {
     PostCount = 0;
     mx_close_mailbox (PostContext, NULL);
-    FREE (&PostContext);
+    mem_free (&PostContext);
     mutt_error _("No postponed messages.");
 
     return (-1);
@@ -269,13 +264,13 @@ int mutt_get_postponed (CONTEXT * ctx, HEADER * hdr, HEADER ** cur, char *fcc,
   }
   else if ((h = select_msg ()) == NULL) {
     mx_close_mailbox (PostContext, NULL);
-    FREE (&PostContext);
+    mem_free (&PostContext);
     return (-1);
   }
 
   if (mutt_prepare_template (NULL, PostContext, hdr, h, 0) < 0) {
     mx_fastclose_mailbox (PostContext);
-    FREE (&PostContext);
+    mem_free (&PostContext);
     return (-1);
   }
 
@@ -294,7 +289,7 @@ int mutt_get_postponed (CONTEXT * ctx, HEADER * hdr, HEADER ** cur, char *fcc,
   mx_close_mailbox (PostContext, NULL);
   set_quadoption (OPT_DELETE, opt_delete);
 
-  FREE (&PostContext);
+  mem_free (&PostContext);
 
   for (tmp = hdr->env->userhdrs; tmp;) {
     if (ascii_strncasecmp ("X-Mutt-References:", tmp->data, 18) == 0) {
@@ -337,10 +332,10 @@ int mutt_get_postponed (CONTEXT * ctx, HEADER * hdr, HEADER ** cur, char *fcc,
       tmp = next;
     }
     else if ((WithCrypto & APPLICATION_PGP)
-             && (mutt_strncmp ("Pgp:", tmp->data, 4) == 0       /* this is generated
+             && (str_ncmp ("Pgp:", tmp->data, 4) == 0       /* this is generated
                                                                  * by old mutt versions
                                                                  */
-                 || mutt_strncmp ("X-Mutt-PGP:", tmp->data, 11) == 0)) {
+                 || str_ncmp ("X-Mutt-PGP:", tmp->data, 11) == 0)) {
       hdr->security = mutt_parse_crypt_hdr (strchr (tmp->data, ':') + 1, 1);
       hdr->security |= APPLICATION_PGP;
 
@@ -355,7 +350,7 @@ int mutt_get_postponed (CONTEXT * ctx, HEADER * hdr, HEADER ** cur, char *fcc,
       tmp = next;
     }
     else if ((WithCrypto & APPLICATION_SMIME)
-             && mutt_strncmp ("X-Mutt-SMIME:", tmp->data, 13) == 0) {
+             && str_ncmp ("X-Mutt-SMIME:", tmp->data, 13) == 0) {
       hdr->security = mutt_parse_crypt_hdr (strchr (tmp->data, ':') + 1, 1);
       hdr->security |= APPLICATION_SMIME;
 
@@ -371,7 +366,7 @@ int mutt_get_postponed (CONTEXT * ctx, HEADER * hdr, HEADER ** cur, char *fcc,
     }
 
 #ifdef MIXMASTER
-    else if (mutt_strncmp ("X-Mutt-Mix:", tmp->data, 11) == 0) {
+    else if (str_ncmp ("X-Mutt-Mix:", tmp->data, 11) == 0) {
       char *t;
 
       mutt_free_list (&hdr->chain);
@@ -494,10 +489,10 @@ int mutt_parse_crypt_hdr (char *p, int set_signas)
 
   /* the cryptalg field must not be empty */
   if ((WithCrypto & APPLICATION_SMIME) && *smime_cryptalg)
-    mutt_str_replace (&SmimeCryptAlg, smime_cryptalg);
+    str_replace (&SmimeCryptAlg, smime_cryptalg);
 
   if ((WithCrypto & APPLICATION_PGP) && (set_signas || *pgp_sign_as))
-    mutt_str_replace (&PgpSignAs, pgp_sign_as);
+    str_replace (&PgpSignAs, pgp_sign_as);
 
   return pgp;
 }
@@ -527,14 +522,14 @@ int mutt_prepare_template (FILE * fp, CONTEXT * ctx, HEADER * newhdr,
 
   /* parse the message header and MIME structure */
 
-  fseek (fp, hdr->offset, 0);
+  fseeko (fp, hdr->offset, 0);
   newhdr->offset = hdr->offset;
   newhdr->env = mutt_read_rfc822_header (fp, newhdr, 1, weed);
   newhdr->content->length = hdr->content->length;
   mutt_parse_part (fp, newhdr->content);
 
-  FREE (&newhdr->env->message_id);
-  FREE (&newhdr->env->mail_followup_to);        /* really? */
+  mem_free (&newhdr->env->message_id);
+  mem_free (&newhdr->env->mail_followup_to);        /* really? */
 
   /* decrypt pgp/mime encoded messages */
 
@@ -615,7 +610,7 @@ int mutt_prepare_template (FILE * fp, CONTEXT * ctx, HEADER * newhdr,
     file[0] = '\0';
     if (b->filename) {
       strfcpy (file, b->filename, sizeof (file));
-      b->d_filename = safe_strdup (b->filename);
+      b->d_filename = str_dup (b->filename);
     }
     else {
       /* avoid Content-Disposition: header with temporary filename */
@@ -638,7 +633,7 @@ int mutt_prepare_template (FILE * fp, CONTEXT * ctx, HEADER * newhdr,
       mutt_delete_parameter ("x-mutt-noconv", &b->parameter);
     }
 
-    mutt_adv_mktemp (file, sizeof (file));
+    mutt_adv_mktemp (NULL, file, sizeof (file));
     if ((s.fpout = safe_fopen (file, "w")) == NULL)
       goto bail;
 
@@ -651,7 +646,7 @@ int mutt_prepare_template (FILE * fp, CONTEXT * ctx, HEADER * newhdr,
       newhdr->security |= mutt_is_application_pgp (newhdr->content);
 
       b->type = TYPETEXT;
-      mutt_str_replace (&b->subtype, "plain");
+      str_replace (&b->subtype, "plain");
       mutt_delete_parameter ("x-action", &b->parameter);
     }
     else
@@ -660,7 +655,7 @@ int mutt_prepare_template (FILE * fp, CONTEXT * ctx, HEADER * newhdr,
     if (safe_fclose (&s.fpout) != 0)
       goto bail;
 
-    mutt_str_replace (&b->filename, file);
+    str_replace (&b->filename, file);
     b->unlink = 1;
 
     mutt_stamp_attachment (b);