# include "config.h"
#endif
+#include <lib-lib/mem.h>
+#include <lib-lib/str.h>
+#include <lib-lib/macros.h>
+
#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/debug.h"
+
#include <ctype.h>
#include <unistd.h>
#include <string.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}
};
#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;
}
if (!PostContext->msgcount) {
PostCount = 0;
mx_close_mailbox (PostContext, NULL);
- FREE (&PostContext);
+ p_delete(&PostContext);
mutt_error _("No postponed messages.");
return (-1);
}
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);
}
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) {
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;
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;
}
#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);
/* 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;
}
/* 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 */
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 */
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;
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
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);