int pgp_application_pgp_handler (BODY * m, STATE * s)
{
int needpass = -1, pgp_keyblock = 0;
- int c;
+ int c = 1;
int clearsign = 0, rv, rc;
long start_pos = 0;
long bytes, last_pos, offset;
}
/* treat empty result as sign of failure */
- rewind (pgpout);
- if ((c = fgetc (pgpout)) == EOF) {
+ if (pgpout) {
+ rewind (pgpout);
+ c = fgetc (pgpout);
+ ungetc (c, pgpout);
+ }
+ if (!clearsign && (!pgpout || c == EOF)) {
mutt_error _("Could not decrypt PGP message");
+ mutt_sleep (1);
pgp_void_passphrase ();
rc = -1;
goto out;
}
- ungetc (c, pgpout);
}
/*