2003-02-04 Marcus Brinkmann <marcus@g10code.de>

* rungpg.c (read_status): If he status handler returns an error,
	return it.
	(status_handler): If read_status fails, just return the error.
This commit is contained in:
Marcus Brinkmann 2003-02-04 16:08:50 +00:00
parent 350ef9afef
commit 7f0efb1923
2 changed files with 18 additions and 8 deletions

View File

@ -1,3 +1,9 @@
2003-02-04 Marcus Brinkmann <marcus@g10code.de>
* 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 <marcus@g10code.de>
* engine-gpgsm.c (start): Handle all errors, not only most of

View File

@ -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,
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;
}
if (gpg->status.eof)
_gpgme_io_close (fd);
return 0;