aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2003-02-04 16:08:50 +0000
committerMarcus Brinkmann <[email protected]>2003-02-04 16:08:50 +0000
commit7f0efb19238d11e359855dfa3407cb479ec92d44 (patch)
treecc647c965857057649cd55f053393b3d3f1da6fd
parent2003-02-01 Marcus Brinkmann <[email protected]> (diff)
downloadgpgme-7f0efb19238d11e359855dfa3407cb479ec92d44.tar.gz
gpgme-7f0efb19238d11e359855dfa3407cb479ec92d44.zip
2003-02-04 Marcus Brinkmann <[email protected]>
* rungpg.c (read_status): If he status handler returns an error, return it. (status_handler): If read_status fails, just return the error.
Diffstat (limited to '')
-rw-r--r--gpgme/ChangeLog6
-rw-r--r--gpgme/rungpg.c20
2 files changed, 18 insertions, 8 deletions
diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog
index a122a7e9..3c507006 100644
--- a/gpgme/ChangeLog
+++ b/gpgme/ChangeLog
@@ -1,3 +1,9 @@
+2003-02-04 Marcus Brinkmann <[email protected]>
+
+ * rungpg.c (read_status): If he status handler returns an error,
+ return it.
+ (status_handler): If read_status fails, just return the error.
+
2003-02-01 Marcus Brinkmann <[email protected]>
* engine-gpgsm.c (start): Handle all errors, not only most of
diff --git a/gpgme/rungpg.c b/gpgme/rungpg.c
index 74723e6a..d55fbc69 100644
--- a/gpgme/rungpg.c
+++ b/gpgme/rungpg.c
@@ -808,7 +808,12 @@ read_status (GpgObject gpg)
{
gpg->status.eof = 1;
if (gpg->status.fnc)
- gpg->status.fnc (gpg->status.fnc_value, GPGME_STATUS_EOF, "");
+ {
+ GpgmeError err;
+ err = gpg->status.fnc (gpg->status.fnc_value, GPGME_STATUS_EOF, "");
+ if (err)
+ return err;
+ }
return 0;
}
@@ -886,8 +891,11 @@ read_status (GpgObject gpg)
}
else if (gpg->status.fnc)
{
- gpg->status.fnc (gpg->status.fnc_value,
- r->code, rest);
+ GpgmeError err;
+ err = gpg->status.fnc (gpg->status.fnc_value,
+ r->code, rest);
+ if (err)
+ return err;
}
if (r->code == GPGME_STATUS_END_STREAM)
@@ -939,11 +947,7 @@ status_handler (void *opaque, int fd)
assert (fd == gpg->status.fd[0]);
err = read_status (gpg);
if (err)
- {
- DEBUG1 ("gpg_handler: read_status problem %d\n - stop", err);
- _gpgme_io_close (fd);
- return err;
- }
+ return err;
if (gpg->status.eof)
_gpgme_io_close (fd);
return 0;