diff --git a/doc/gpgme.texi b/doc/gpgme.texi index dc5a1407..18fb6d5c 100644 --- a/doc/gpgme.texi +++ b/doc/gpgme.texi @@ -4464,12 +4464,13 @@ could not be started. @tindex gpgme_interact_cb_t The @code{gpgme_interact_cb_t} type is the type of functions which @acronym{GPGME} calls if it a key interact operation is on-going. The -status keyword @var{status} and the argument line @var{args} are passed -through by @acronym{GPGME} from the crypto engine. The file -descriptor @var{fd} is -1 for normal status messages. If @var{status} -indicates a command rather than a status message, the response to the -command should be written to @var{fd}. The @var{handle} is provided -by the user at start of operation. +status keyword @var{status} and the argument line @var{args} are +passed through by @acronym{GPGME} from the crypto engine. An empty +string represents EOF. The file descriptor @var{fd} is -1 for normal +status messages. If @var{status} indicates a command rather than a +status message, the response to the command should be written to +@var{fd}. The @var{handle} is provided by the user at start of +operation. The function should return @code{GPG_ERR_FALSE} if it did not handle the status code, @code{0} for success, or any other error value. diff --git a/src/engine-gpg.c b/src/engine-gpg.c index a7431d56..025657a9 100644 --- a/src/engine-gpg.c +++ b/src/engine-gpg.c @@ -1095,8 +1095,7 @@ read_status (engine_gpg_t gpg) err = 0; gpg->status.eof = 1; if (gpg->status.mon_cb) - err = gpg->status.mon_cb (gpg->status.mon_cb_value, - GPGME_STATUS_EOF, ""); + err = gpg->status.mon_cb (gpg->status.mon_cb_value, "", ""); if (gpg->status.fnc) { char emptystring[1] = {0}; diff --git a/src/status-table.c b/src/status-table.c index f44a08fb..c9bf3577 100644 --- a/src/status-table.c +++ b/src/status-table.c @@ -178,6 +178,6 @@ _gpgme_status_to_string (gpgme_status_code_t code) for (i=0; i < DIM(status_table); i++) if (status_table[i].code == code) - return status_table[i].name; + return status_table[i].name? status_table[i].name : ""; return "status_code_lost"; }