core: Map GPGME_STATUS_EOF to the empty string.

* src/status-table.c (_gpgme_status_to_string): Return "" for EOF.
* src/engine-gpg.c (read_status): Ditto.  The old code accidently used
GPGME_STATUS_EOF which is the integer 0 and neiteyr NULL nor a string.

Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
Werner Koch 2016-09-16 15:06:26 +02:00
parent 6af7bee076
commit 3d6340e8c5
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B
3 changed files with 9 additions and 9 deletions

View File

@ -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.

View File

@ -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};

View File

@ -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";
}