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