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 @tindex gpgme_interact_cb_t
The @code{gpgme_interact_cb_t} type is the type of functions which 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 @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 status keyword @var{status} and the argument line @var{args} are
through by @acronym{GPGME} from the crypto engine. The file passed through by @acronym{GPGME} from the crypto engine. An empty
descriptor @var{fd} is -1 for normal status messages. If @var{status} string represents EOF. The file descriptor @var{fd} is -1 for normal
indicates a command rather than a status message, the response to the status messages. If @var{status} indicates a command rather than a
command should be written to @var{fd}. The @var{handle} is provided status message, the response to the command should be written to
by the user at start of operation. @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 function should return @code{GPG_ERR_FALSE} if it did not handle
the status code, @code{0} for success, or any other error value. 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; err = 0;
gpg->status.eof = 1; gpg->status.eof = 1;
if (gpg->status.mon_cb) if (gpg->status.mon_cb)
err = gpg->status.mon_cb (gpg->status.mon_cb_value, err = gpg->status.mon_cb (gpg->status.mon_cb_value, "", "");
GPGME_STATUS_EOF, "");
if (gpg->status.fnc) if (gpg->status.fnc)
{ {
char emptystring[1] = {0}; 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++) for (i=0; i < DIM(status_table); i++)
if (status_table[i].code == code) if (status_table[i].code == code)
return status_table[i].name; return status_table[i].name? status_table[i].name : "";
return "status_code_lost"; return "status_code_lost";
} }