move buffer.[hc] into lib-lib/
[apps/madmutt.git] / postpone.c
index 264e9dc..d63c146 100644 (file)
 # include "config.h"
 #endif
 
+#include <lib-lib/mem.h>
+#include <lib-lib/str.h>
+#include <lib-lib/ascii.h>
+#include <lib-lib/macros.h>
+
 #include "mutt.h"
+#include "enter.h"
+#include "handler.h"
 #include "mutt_menu.h"
 #include "rfc1524.h"
 #include "mime.h"
 #include "mapping.h"
 #include "sort.h"
+#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 <sys/stat.h>
 
 static struct mapping_t PostponeHelp[] = {
-  {N_("Exit"), OP_EXIT},
-  {N_("Del"), OP_DELETE},
+  {N_("Exit"),  OP_EXIT},
+  {N_("Del"),   OP_DELETE},
   {N_("Undel"), OP_UNDELETE},
-  {N_("Help"), OP_HELP},
-  {NULL}
+  {N_("Help"),  OP_HELP},
+  {NULL,        OP_NULL}
 };
 
 
@@ -75,22 +82,17 @@ int mutt_num_postponed (int force)
 
 #ifdef USE_IMAP
   /* LastModify is useless for IMAP */
-  if (mx_get_magic (Postponed) == M_IMAP) {
+  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;
   }
@@ -251,7 +253,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);
+    p_delete(&PostContext);
     mutt_error _("No postponed messages.");
 
     return (-1);
@@ -263,13 +265,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);
+    p_delete(&PostContext);
     return (-1);
   }
 
   if (mutt_prepare_template (NULL, PostContext, hdr, h, 0) < 0) {
     mx_fastclose_mailbox (PostContext);
-    FREE (&PostContext);
+    p_delete(&PostContext);
     return (-1);
   }
 
@@ -288,7 +290,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);
+  p_delete(&PostContext);
 
   for (tmp = hdr->env->userhdrs; tmp;) {
     if (ascii_strncasecmp ("X-Mutt-References:", tmp->data, 18) == 0) {
@@ -331,10 +333,10 @@ int mutt_get_postponed (CONTEXT * ctx, HEADER * hdr, HEADER ** cur, char *fcc,
       tmp = next;
     }
     else if ((WithCrypto & APPLICATION_PGP)
-             && (safe_strncmp ("Pgp:", tmp->data, 4) == 0       /* this is generated
+             && (str_ncmp ("Pgp:", tmp->data, 4) == 0       /* this is generated
                                                                  * by old mutt versions
                                                                  */
-                 || safe_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;
 
@@ -349,7 +351,7 @@ int mutt_get_postponed (CONTEXT * ctx, HEADER * hdr, HEADER ** cur, char *fcc,
       tmp = next;
     }
     else if ((WithCrypto & APPLICATION_SMIME)
-             && safe_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;
 
@@ -365,7 +367,7 @@ int mutt_get_postponed (CONTEXT * ctx, HEADER * hdr, HEADER ** cur, char *fcc,
     }
 
 #ifdef MIXMASTER
-    else if (safe_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);
@@ -509,7 +511,7 @@ int mutt_prepare_template (FILE * fp, CONTEXT * ctx, HEADER * newhdr,
   int rv = -1;
   STATE s;
 
-  memset (&s, 0, sizeof (s));
+  p_clear(&s, 1);
 
   if (!fp && (msg = mx_open_message (ctx, hdr->msgno)) == NULL)
     return (-1);
@@ -521,14 +523,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? */
+  p_delete(&newhdr->env->message_id);
+  p_delete(&newhdr->env->mail_followup_to);        /* really? */
 
   /* decrypt pgp/mime encoded messages */
 
@@ -609,7 +611,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 = m_strdup(b->filename);
     }
     else {
       /* avoid Content-Disposition: header with temporary filename */
@@ -632,7 +634,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;