diff options
| author | Marcus Brinkmann <[email protected]> | 2003-02-04 16:08:50 +0000 | 
|---|---|---|
| committer | Marcus Brinkmann <[email protected]> | 2003-02-04 16:08:50 +0000 | 
| commit | 7f0efb19238d11e359855dfa3407cb479ec92d44 (patch) | |
| tree | cc647c965857057649cd55f053393b3d3f1da6fd | |
| parent | 2003-02-01 Marcus Brinkmann <[email protected]> (diff) | |
| download | gpgme-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/ChangeLog | 6 | ||||
| -rw-r--r-- | gpgme/rungpg.c | 20 | 
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; | 
