diff options
| -rw-r--r-- | gpgme/ChangeLog | 4 | ||||
| -rw-r--r-- | gpgme/rungpg.c | 13 | 
2 files changed, 11 insertions, 6 deletions
| diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog index 39c6165f..4629cc24 100644 --- a/gpgme/ChangeLog +++ b/gpgme/ChangeLog @@ -1,3 +1,7 @@ +2008-08-08  Marcus Brinkmann  <[email protected]> + +	* rungpg.c (command_handler): Remove I/O callback on error, too. +  2008-06-29  Marcus Brinkmann  <[email protected]>  	* gpgme.c (gpgme_cancel_async): Remove unused variable. diff --git a/gpgme/rungpg.c b/gpgme/rungpg.c index 51ca545b..ca4145ca 100644 --- a/gpgme/rungpg.c +++ b/gpgme/rungpg.c @@ -645,12 +645,6 @@ command_handler (void *opaque, int fd)    err = gpg->cmd.fnc (gpg->cmd.fnc_value, gpg->cmd.code, gpg->cmd.keyword, fd,  		      &processed); -  if (err) -    return err; - -  /* We always need to send at least a newline character.  */ -  if (!processed) -    _gpgme_io_write (fd, "\n", 1);    gpg->cmd.code = 0;    /* And sleep again until read_status will wake us up again.  */ @@ -660,6 +654,13 @@ command_handler (void *opaque, int fd)    gpg->cmd.fd = gpg->fd_data_map[gpg->cmd.idx].fd;    gpg->fd_data_map[gpg->cmd.idx].fd = -1; +  if (err) +    return err; + +  /* We always need to send at least a newline character.  */ +  if (!processed) +    _gpgme_io_write (fd, "\n", 1); +    return 0;  } | 
