core: Make the status-fd monitor work for all gpgsm commands.

* src/engine-gpgsm.c (status_handler): Call the status monitor also
here.

Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
Werner Koch 2018-05-09 16:39:30 +02:00
parent 46da79e3de
commit e2a8a87bf9
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B

View File

@ -1013,8 +1013,17 @@ status_handler (void *opaque, int fd)
*(rest++) = 0;
r = _gpgme_parse_status (line + 2);
if (gpgsm->status.mon_cb && r != GPGME_STATUS_PROGRESS)
{
/* Note that we call the monitor even if we do
* not know the status code (r < 0). */
err = gpgsm->status.mon_cb (gpgsm->status.mon_cb_value,
line + 2, rest);
}
else
err = 0;
if (r >= 0)
if (r >= 0 && !err)
{
if (gpgsm->status.fnc)
{