# include "config.h"
#endif
+#include <lib-lib/mem.h>
+
#include "mutt.h"
#include "enter.h"
#include "ascii.h"
fputs (line, fpout);
fputc ('\n', fpout);
}
- mem_free (&line);
+ p_delete(&line);
}
else {
debug_print (2, ("No pattern.\n"));
int pgp_application_pgp_handler (BODY * m, STATE * s)
{
+ int could_not_decrypt = 0;
int needpass = -1, pgp_keyblock = 0;
int c = 1;
int clearsign = 0, rv, rc;
long start_pos = 0;
long bytes;
- LOFF_T last_pos, offset;
+ off_t last_pos, offset;
char buf[HUGE_STRING];
char outfile[_POSIX_PATH_MAX];
char tmpfname[_POSIX_PATH_MAX];
ungetc (c, pgpout);
}
if (!clearsign && (!pgpout || c == EOF)) {
- mutt_error _("Could not decrypt PGP message");
- mutt_sleep (1);
- pgp_void_passphrase ();
- if (!(s->flags & M_DISPLAY)) {
- rc = -1;
- goto out;
- }
+ could_not_decrypt = 1;
+ pgp_void_passphrase ();
+ }
+
+ if (could_not_decrypt && !(s->flags & M_DISPLAY)) {
+ mutt_error _("Could not decrypt PGP message");
+ mutt_sleep (1);
+ rc = -1;
+ goto out;
}
}
state_putc ('\n', s);
if (needpass) {
state_attach_puts (_("[-- END PGP MESSAGE --]\n"), s);
- mutt_message _("PGP message successfully decrypted.");
+ if (could_not_decrypt)
+ mutt_error _("Could not decrypt PGP message.");
+ else
+ mutt_message _("PGP message successfully decrypted.");
}
else if (pgp_keyblock)
state_attach_puts (_("[-- END PGP PUBLIC KEY BLOCK --]\n"), s);
k_info = pgp_getkeybystr (keyID, KEYFLAG_CANENCRYPT, PGP_PUBRING);
}
else if (r == -1) {
- mem_free (&keylist);
+ p_delete(&keylist);
rfc822_free_address (&tmp);
rfc822_free_address (&addr);
return NULL;
if ((key = pgp_ask_for_key (buf, q->mailbox,
KEYFLAG_CANENCRYPT, PGP_PUBRING)) == NULL) {
- mem_free (&keylist);
+ p_delete(&keylist);
rfc822_free_address (&tmp);
rfc822_free_address (&addr);
return NULL;