mirror of
git://git.gnupg.org/gnupg.git
synced 2025-02-07 17:33:02 +01:00
Use new status printing functions.
* agent/command.c (cmd_geteventcounter): Get rid of static buffers. * scd/command.c (cmd_serialno, cmd_learn): Simplify by using print_assuan_status.
This commit is contained in:
parent
e78585cd0f
commit
12ea5c904c
@ -499,21 +499,13 @@ static gpg_error_t
|
|||||||
cmd_geteventcounter (assuan_context_t ctx, char *line)
|
cmd_geteventcounter (assuan_context_t ctx, char *line)
|
||||||
{
|
{
|
||||||
ctrl_t ctrl = assuan_get_pointer (ctx);
|
ctrl_t ctrl = assuan_get_pointer (ctx);
|
||||||
char any_counter[25];
|
|
||||||
char key_counter[25];
|
|
||||||
char card_counter[25];
|
|
||||||
|
|
||||||
(void)line;
|
(void)line;
|
||||||
|
|
||||||
snprintf (any_counter, sizeof any_counter, "%u", eventcounter.any);
|
return agent_print_status (ctrl, "EVENTCOUNTER", "%u %u %u",
|
||||||
snprintf (key_counter, sizeof key_counter, "%u", eventcounter.key);
|
eventcounter.any,
|
||||||
snprintf (card_counter, sizeof card_counter, "%u", eventcounter.card);
|
eventcounter.key,
|
||||||
|
eventcounter.card);
|
||||||
return agent_write_status (ctrl, "EVENTCOUNTER",
|
|
||||||
any_counter,
|
|
||||||
key_counter,
|
|
||||||
card_counter,
|
|
||||||
NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
#ifdef HAVE_LIBUSB
|
#ifdef HAVE_LIBUSB
|
||||||
#include "ccid-driver.h"
|
#include "ccid-driver.h"
|
||||||
#endif
|
#endif
|
||||||
|
#include "asshelp.h"
|
||||||
|
|
||||||
/* Maximum length allowed as a PIN; used for INQUIRE NEEDPIN */
|
/* Maximum length allowed as a PIN; used for INQUIRE NEEDPIN */
|
||||||
#define MAXLEN_PIN 100
|
#define MAXLEN_PIN 100
|
||||||
@ -561,7 +561,6 @@ cmd_serialno (assuan_context_t ctx, char *line)
|
|||||||
{
|
{
|
||||||
ctrl_t ctrl = assuan_get_pointer (ctx);
|
ctrl_t ctrl = assuan_get_pointer (ctx);
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
char *serial_and_stamp;
|
|
||||||
char *serial;
|
char *serial;
|
||||||
time_t stamp;
|
time_t stamp;
|
||||||
int retries = 0;
|
int retries = 0;
|
||||||
@ -587,15 +586,10 @@ cmd_serialno (assuan_context_t ctx, char *line)
|
|||||||
if (rc)
|
if (rc)
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
rc = estream_asprintf (&serial_and_stamp, "%s %lu",
|
rc = print_assuan_status (ctx, "SERIALNO", "%s %lu",
|
||||||
serial, (unsigned long)stamp);
|
serial, (unsigned long)stamp);
|
||||||
xfree (serial);
|
xfree (serial);
|
||||||
if (rc < 0)
|
return rc;
|
||||||
return out_of_core ();
|
|
||||||
rc = 0;
|
|
||||||
assuan_write_status (ctx, "SERIALNO", serial_and_stamp);
|
|
||||||
xfree (serial_and_stamp);
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -684,32 +678,32 @@ cmd_learn (assuan_context_t ctx, char *line)
|
|||||||
knows about this card */
|
knows about this card */
|
||||||
if (!only_keypairinfo)
|
if (!only_keypairinfo)
|
||||||
{
|
{
|
||||||
char *serial_and_stamp;
|
|
||||||
char *serial;
|
char *serial;
|
||||||
time_t stamp;
|
time_t stamp;
|
||||||
|
|
||||||
rc = app_get_serial_and_stamp (ctrl->app_ctx, &serial, &stamp);
|
rc = app_get_serial_and_stamp (ctrl->app_ctx, &serial, &stamp);
|
||||||
if (rc)
|
if (rc)
|
||||||
return rc;
|
return rc;
|
||||||
rc = estream_asprintf (&serial_and_stamp, "%s %lu",
|
|
||||||
serial, (unsigned long)stamp);
|
rc = print_assuan_status (ctx, "SERIALNO", "%s %lu",
|
||||||
xfree (serial);
|
serial, (unsigned long)stamp);
|
||||||
if (rc < 0)
|
if (rc < 0)
|
||||||
return out_of_core ();
|
{
|
||||||
rc = 0;
|
xfree (serial);
|
||||||
assuan_write_status (ctx, "SERIALNO", serial_and_stamp);
|
return out_of_core ();
|
||||||
|
}
|
||||||
|
|
||||||
if (!has_option (line, "--force"))
|
if (!has_option (line, "--force"))
|
||||||
{
|
{
|
||||||
char *command;
|
char *command;
|
||||||
|
|
||||||
rc = estream_asprintf (&command, "KNOWNCARDP %s", serial_and_stamp);
|
rc = estream_asprintf (&command, "KNOWNCARDP %s %lu",
|
||||||
|
serial, (unsigned long)stamp);
|
||||||
if (rc < 0)
|
if (rc < 0)
|
||||||
{
|
{
|
||||||
xfree (serial_and_stamp);
|
xfree (serial);
|
||||||
return out_of_core ();
|
return out_of_core ();
|
||||||
}
|
}
|
||||||
rc = 0;
|
|
||||||
rc = assuan_inquire (ctx, command, NULL, NULL, 0);
|
rc = assuan_inquire (ctx, command, NULL, NULL, 0);
|
||||||
xfree (command);
|
xfree (command);
|
||||||
if (rc)
|
if (rc)
|
||||||
@ -717,12 +711,12 @@ cmd_learn (assuan_context_t ctx, char *line)
|
|||||||
if (gpg_err_code (rc) != GPG_ERR_ASS_CANCELED)
|
if (gpg_err_code (rc) != GPG_ERR_ASS_CANCELED)
|
||||||
log_error ("inquire KNOWNCARDP failed: %s\n",
|
log_error ("inquire KNOWNCARDP failed: %s\n",
|
||||||
gpg_strerror (rc));
|
gpg_strerror (rc));
|
||||||
xfree (serial_and_stamp);
|
xfree (serial);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
/* Not canceled, so we have to proceeed. */
|
/* Not canceled, so we have to proceeed. */
|
||||||
}
|
}
|
||||||
xfree (serial_and_stamp);
|
xfree (serial);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Let the application print out its collection of useful status
|
/* Let the application print out its collection of useful status
|
||||||
|
Loading…
x
Reference in New Issue
Block a user