int needpass = -1, pgp_keyblock = 0;
int c = 1;
int clearsign = 0, rv, rc;
long start_pos = 0;
int needpass = -1, pgp_keyblock = 0;
int c = 1;
int clearsign = 0, rv, rc;
long start_pos = 0;
last_pos = m->offset;
for (bytes = m->length; bytes > 0;) {
if (fgets (buf, sizeof (buf), s->fpin) == NULL)
break;
last_pos = m->offset;
for (bytes = m->length; bytes > 0;) {
if (fgets (buf, sizeof (buf), s->fpin) == NULL)
break;
- mutt_error _("Could not decrypt PGP message");
- mutt_sleep (1);
- pgp_void_passphrase ();
- 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;
if ((key = pgp_ask_for_key (buf, q->mailbox,
KEYFLAG_CANENCRYPT, PGP_PUBRING)) == NULL) {
if ((key = pgp_ask_for_key (buf, q->mailbox,
KEYFLAG_CANENCRYPT, PGP_PUBRING)) == NULL) {