From 7f0efb19238d11e359855dfa3407cb479ec92d44 Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Tue, 4 Feb 2003 16:08:50 +0000 Subject: [PATCH] 2003-02-04 Marcus Brinkmann * rungpg.c (read_status): If he status handler returns an error, return it. (status_handler): If read_status fails, just return the error. --- gpgme/ChangeLog | 6 ++++++ gpgme/rungpg.c | 20 ++++++++++++-------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog index a122a7e..3c50700 100644 --- a/gpgme/ChangeLog +++ b/gpgme/ChangeLog @@ -1,3 +1,9 @@ +2003-02-04 Marcus Brinkmann + + * 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 * engine-gpgsm.c (start): Handle all errors, not only most of diff --git a/gpgme/rungpg.c b/gpgme/rungpg.c index 74723e6..d55fbc6 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; -- 2.26.2