projects
/
apps
/
madmutt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Rocco Rutte:
[apps/madmutt.git]
/
pgp.c
diff --git
a/pgp.c
b/pgp.c
index
53ff14b
..
93c7733
100644
(file)
--- a/
pgp.c
+++ b/
pgp.c
@@
-228,7
+228,7
@@
static void pgp_copy_clearsigned (FILE * fpin, STATE * s, char *charset)
int pgp_application_pgp_handler (BODY * m, STATE * s)
{
int needpass = -1, pgp_keyblock = 0;
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;
int clearsign = 0, rv, rc;
long start_pos = 0;
long bytes, last_pos, offset;
@@
-369,14
+369,18
@@
int pgp_application_pgp_handler (BODY * m, STATE * s)
}
/* treat empty result as sign of failure */
}
/* 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_error _("Could not decrypt PGP message");
+ mutt_sleep (1);
pgp_void_passphrase ();
rc = -1;
goto out;
}
pgp_void_passphrase ();
rc = -1;
goto out;
}
- ungetc (c, pgpout);
}
/*
}
/*