mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
* call-dirmngr.c (isvalid_status_cb, lookup_status_cb)
(run_command_status_cb): Return cancel status if gpgsm_status returned an error. * server.c (gpgsm_status, gpgsm_status2) (gpgsm_status_with_err_code): Return an error code. (gpgsm_status2): Always call va_end().
This commit is contained in:
parent
4350c58757
commit
0ccb120f68
4 changed files with 33 additions and 17 deletions
23
sm/server.c
23
sm/server.c
|
@ -964,18 +964,19 @@ get_status_string ( int no )
|
|||
}
|
||||
|
||||
|
||||
void
|
||||
gpg_error_t
|
||||
gpgsm_status2 (CTRL ctrl, int no, ...)
|
||||
{
|
||||
gpg_error_t err = 0;
|
||||
va_list arg_ptr;
|
||||
const char *text;
|
||||
|
||||
va_start (arg_ptr, no);
|
||||
|
||||
if (ctrl->no_server)
|
||||
if (ctrl->no_server && ctrl->status_fd == -1)
|
||||
; /* No status wanted. */
|
||||
else if (ctrl->no_server)
|
||||
{
|
||||
if (ctrl->status_fd == -1)
|
||||
return; /* no status wanted */
|
||||
if (!statusfp)
|
||||
{
|
||||
if (ctrl->status_fd == 1)
|
||||
|
@ -1030,19 +1031,21 @@ gpgsm_status2 (CTRL ctrl, int no, ...)
|
|||
*p++ = *text++;
|
||||
}
|
||||
*p = 0;
|
||||
assuan_write_status (ctx, get_status_string (no), buf);
|
||||
err = map_assuan_err (assuan_write_status (ctx,
|
||||
get_status_string (no), buf));
|
||||
}
|
||||
|
||||
va_end (arg_ptr);
|
||||
return err;
|
||||
}
|
||||
|
||||
void
|
||||
gpg_error_t
|
||||
gpgsm_status (CTRL ctrl, int no, const char *text)
|
||||
{
|
||||
gpgsm_status2 (ctrl, no, text, NULL);
|
||||
return gpgsm_status2 (ctrl, no, text, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
gpg_error_t
|
||||
gpgsm_status_with_err_code (CTRL ctrl, int no, const char *text,
|
||||
gpg_err_code_t ec)
|
||||
{
|
||||
|
@ -1050,9 +1053,9 @@ gpgsm_status_with_err_code (CTRL ctrl, int no, const char *text,
|
|||
|
||||
sprintf (buf, "%u", (unsigned int)ec);
|
||||
if (text)
|
||||
gpgsm_status2 (ctrl, no, text, buf, NULL);
|
||||
return gpgsm_status2 (ctrl, no, text, buf, NULL);
|
||||
else
|
||||
gpgsm_status2 (ctrl, no, buf, NULL);
|
||||
return gpgsm_status2 (ctrl, no, buf, NULL);
|
||||
}
|
||||
|
||||
#if 0
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue