mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
common,agent,dirmngr,g10,tools: Fix split_fields API.
* common/stringhelp.h (split_fields): Use const * for the strings in the ARRAY. (split_fields_colon): Likewise. * common/stringhelp.c (split_fields, split_fields_colon): Fix the implementation. * agent/call-scd.c, agent/command.c: Follow the change. * common/t-stringhelp.c, dirmngr/loadswdb.c: Likewise. * g10/call-agent.c, tools/card-call-scd.c: Likewise. * tools/card-yubikey.c, tools/gpg-card.c: Likewise. * tools/gpg-card.h, tools/gpg-wks-client.c: Likewise. * tools/gpgconf-comp.c, tools/gpgconf.c: Likewise. * tools/wks-util.c: Likewise. -- The strings in the ARRAY don't need to be released by caller, as those are references. It's easier to follow the code when it's explicitly const *. Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
8ff3663027
commit
dfdcf14738
@ -682,7 +682,7 @@ readkey_status_cb (void *opaque, const char *line)
|
|||||||
* Here we only need the keyref. We use only the first received
|
* Here we only need the keyref. We use only the first received
|
||||||
* KEYPAIRINFO; it is possible to receive several if there are
|
* KEYPAIRINFO; it is possible to receive several if there are
|
||||||
* two or more active cards with the same key. */
|
* two or more active cards with the same key. */
|
||||||
char *fields[2];
|
const char *fields[2];
|
||||||
int nfields;
|
int nfields;
|
||||||
|
|
||||||
line_buffer = xtrystrdup (line);
|
line_buffer = xtrystrdup (line);
|
||||||
|
@ -2804,7 +2804,7 @@ cmd_keytocard (assuan_context_t ctx, char *line)
|
|||||||
ctrl_t ctrl = assuan_get_pointer (ctx);
|
ctrl_t ctrl = assuan_get_pointer (ctx);
|
||||||
int force;
|
int force;
|
||||||
gpg_error_t err = 0;
|
gpg_error_t err = 0;
|
||||||
char *argv[5];
|
const char *argv[5];
|
||||||
int argc;
|
int argc;
|
||||||
unsigned char grip[20];
|
unsigned char grip[20];
|
||||||
const char *serialno, *timestamp_str, *keyref;
|
const char *serialno, *timestamp_str, *keyref;
|
||||||
@ -3501,7 +3501,7 @@ cmd_getinfo (assuan_context_t ctx, char *line)
|
|||||||
{
|
{
|
||||||
#if GCRYPT_VERSION_NUMBER >= 0x010800
|
#if GCRYPT_VERSION_NUMBER >= 0x010800
|
||||||
char *buf;
|
char *buf;
|
||||||
char *fields[5];
|
const char *fields[5];
|
||||||
|
|
||||||
buf = gcry_get_config (0, "rng-type");
|
buf = gcry_get_config (0, "rng-type");
|
||||||
if (buf
|
if (buf
|
||||||
|
@ -1363,10 +1363,11 @@ strtokenize (const char *string, const char *delim)
|
|||||||
* foo (fields[1]);
|
* foo (fields[1]);
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
split_fields (char *string, char **array, int arraysize)
|
split_fields (char *string, const char **array, int arraysize)
|
||||||
{
|
{
|
||||||
int n = 0;
|
int n = 0;
|
||||||
char *p, *pend;
|
const char *p;
|
||||||
|
char *pend;
|
||||||
|
|
||||||
for (p = string; *p == ' '; p++)
|
for (p = string; *p == ' '; p++)
|
||||||
;
|
;
|
||||||
@ -1401,10 +1402,11 @@ split_fields (char *string, char **array, int arraysize)
|
|||||||
* foo (fields[1]);
|
* foo (fields[1]);
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
split_fields_colon (char *string, char **array, int arraysize)
|
split_fields_colon (char *string, const char **array, int arraysize)
|
||||||
{
|
{
|
||||||
int n = 0;
|
int n = 0;
|
||||||
char *p, *pend;
|
const char *p;
|
||||||
|
char *pend;
|
||||||
|
|
||||||
p = string;
|
p = string;
|
||||||
do
|
do
|
||||||
|
@ -151,11 +151,11 @@ char **strtokenize (const char *string, const char *delim);
|
|||||||
|
|
||||||
/* Split STRING into space delimited fields and store them in the
|
/* Split STRING into space delimited fields and store them in the
|
||||||
* provided ARRAY. */
|
* provided ARRAY. */
|
||||||
int split_fields (char *string, char **array, int arraysize);
|
int split_fields (char *string, const char **array, int arraysize);
|
||||||
|
|
||||||
/* Split STRING into colon delimited fields and store them in the
|
/* Split STRING into colon delimited fields and store them in the
|
||||||
* provided ARRAY. */
|
* provided ARRAY. */
|
||||||
int split_fields_colon (char *string, char **array, int arraysize);
|
int split_fields_colon (char *string, const char **array, int arraysize);
|
||||||
|
|
||||||
/* Return True if MYVERSION is greater or equal than REQ_VERSION. */
|
/* Return True if MYVERSION is greater or equal than REQ_VERSION. */
|
||||||
int compare_version_strings (const char *my_version, const char *req_version);
|
int compare_version_strings (const char *my_version, const char *req_version);
|
||||||
|
@ -717,7 +717,7 @@ test_split_fields (void)
|
|||||||
};
|
};
|
||||||
|
|
||||||
int tidx;
|
int tidx;
|
||||||
char *fields[10];
|
const char *fields[10];
|
||||||
int field_count_expected, nfields, field_count, i;
|
int field_count_expected, nfields, field_count, i;
|
||||||
char *s2;
|
char *s2;
|
||||||
|
|
||||||
@ -792,7 +792,7 @@ test_split_fields_colon (void)
|
|||||||
};
|
};
|
||||||
|
|
||||||
int tidx;
|
int tidx;
|
||||||
char *fields[10];
|
const char *fields[10];
|
||||||
int field_count_expected, nfields, field_count, i;
|
int field_count_expected, nfields, field_count, i;
|
||||||
char *s2;
|
char *s2;
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ time_of_saved_swdb (const char *fname, time_t *r_filedate, time_t *r_verified)
|
|||||||
size_t length_of_line = 0;
|
size_t length_of_line = 0;
|
||||||
size_t maxlen;
|
size_t maxlen;
|
||||||
ssize_t len;
|
ssize_t len;
|
||||||
char *fields[2];
|
const char *fields[2];
|
||||||
gnupg_isotime_t isot;
|
gnupg_isotime_t isot;
|
||||||
time_t filedate = (time_t)(-1);
|
time_t filedate = (time_t)(-1);
|
||||||
time_t verified = (time_t)(-1);
|
time_t verified = (time_t)(-1);
|
||||||
@ -198,7 +198,7 @@ verify_status_cb (void *opaque, const char *keyword, char *args)
|
|||||||
/* We care only about the first valid signature. */
|
/* We care only about the first valid signature. */
|
||||||
if (!strcmp (keyword, "VALIDSIG") && !parm->anyvalid)
|
if (!strcmp (keyword, "VALIDSIG") && !parm->anyvalid)
|
||||||
{
|
{
|
||||||
char *fields[3];
|
const char *fields[3];
|
||||||
|
|
||||||
parm->anyvalid = 1;
|
parm->anyvalid = 1;
|
||||||
if (split_fields (args, fields, DIM (fields)) >= 3)
|
if (split_fields (args, fields, DIM (fields)) >= 3)
|
||||||
|
@ -842,7 +842,7 @@ scd_keypairinfo_status_cb (void *opaque, const char *line)
|
|||||||
/* The format of such a line is:
|
/* The format of such a line is:
|
||||||
* KEYPAIRINFO <hexgrip> <keyref> [usage] [keytime]
|
* KEYPAIRINFO <hexgrip> <keyref> [usage] [keytime]
|
||||||
*/
|
*/
|
||||||
char *fields[4];
|
const char *fields[4];
|
||||||
int nfields;
|
int nfields;
|
||||||
const char *hexgrp, *keyref, *usage;
|
const char *hexgrp, *keyref, *usage;
|
||||||
time_t atime;
|
time_t atime;
|
||||||
@ -1467,7 +1467,7 @@ readkey_status_cb (void *opaque, const char *line)
|
|||||||
* Note that we use only the first valid KEYPAIRINFO line. More
|
* Note that we use only the first valid KEYPAIRINFO line. More
|
||||||
* lines are possible if a second card carries the same key.
|
* lines are possible if a second card carries the same key.
|
||||||
*/
|
*/
|
||||||
char *fields[4];
|
const char *fields[4];
|
||||||
int nfields;
|
int nfields;
|
||||||
time_t atime;
|
time_t atime;
|
||||||
|
|
||||||
@ -2099,7 +2099,7 @@ keyinfo_status_cb (void *opaque, const char *line)
|
|||||||
* 6 7 8
|
* 6 7 8
|
||||||
* <sshfpr> <ttl> <flags>
|
* <sshfpr> <ttl> <flags>
|
||||||
*/
|
*/
|
||||||
char *fields[9];
|
const char *fields[9];
|
||||||
|
|
||||||
if (split_fields (s, fields, DIM (fields)) == 9)
|
if (split_fields (s, fields, DIM (fields)) == 9)
|
||||||
{
|
{
|
||||||
|
@ -962,7 +962,7 @@ learn_status_cb (void *opaque, const char *line)
|
|||||||
/* The format of such a line is:
|
/* The format of such a line is:
|
||||||
* KEYPAIRINFO <hexgrip> <keyref> [usage] [keytime]
|
* KEYPAIRINFO <hexgrip> <keyref> [usage] [keytime]
|
||||||
*/
|
*/
|
||||||
char *fields[4];
|
const char *fields[4];
|
||||||
int nfields;
|
int nfields;
|
||||||
const char *hexgrp, *usage;
|
const char *hexgrp, *usage;
|
||||||
time_t keytime;
|
time_t keytime;
|
||||||
|
@ -310,7 +310,7 @@ yk_enable_disable (struct ykapps_s *yk, struct iface_s *iface,
|
|||||||
* stream to output information. This function must only be called on
|
* stream to output information. This function must only be called on
|
||||||
* Yubikeys. */
|
* Yubikeys. */
|
||||||
gpg_error_t
|
gpg_error_t
|
||||||
yubikey_commands (card_info_t info, estream_t fp, int argc, char *argv[])
|
yubikey_commands (card_info_t info, estream_t fp, int argc, const char *argv[])
|
||||||
{
|
{
|
||||||
gpg_error_t err;
|
gpg_error_t err;
|
||||||
enum {ykLIST, ykENABLE, ykDISABLE } cmd;
|
enum {ykLIST, ykENABLE, ykDISABLE } cmd;
|
||||||
|
@ -2189,11 +2189,11 @@ cmd_writekey (card_info_t info, char *argstr)
|
|||||||
{
|
{
|
||||||
gpg_error_t err;
|
gpg_error_t err;
|
||||||
int opt_force;
|
int opt_force;
|
||||||
char *argv[2];
|
const char *argv[2];
|
||||||
int argc;
|
int argc;
|
||||||
char *keyref_buffer = NULL;
|
char *keyref_buffer = NULL;
|
||||||
char *keyref;
|
const char *keyref;
|
||||||
char *keygrip;
|
const char *keygrip;
|
||||||
|
|
||||||
if (!info)
|
if (!info)
|
||||||
return print_help
|
return print_help
|
||||||
@ -3376,7 +3376,7 @@ cmd_yubikey (card_info_t info, char *argstr)
|
|||||||
{
|
{
|
||||||
gpg_error_t err, err2;
|
gpg_error_t err, err2;
|
||||||
estream_t fp = opt.interactive? NULL : es_stdout;
|
estream_t fp = opt.interactive? NULL : es_stdout;
|
||||||
char *words[20];
|
const char *words[20];
|
||||||
int nwords;
|
int nwords;
|
||||||
|
|
||||||
if (!info)
|
if (!info)
|
||||||
|
@ -244,7 +244,7 @@ unsigned long agent_get_s2k_count (void);
|
|||||||
|
|
||||||
/*-- card-yubikey.c --*/
|
/*-- card-yubikey.c --*/
|
||||||
gpg_error_t yubikey_commands (card_info_t info,
|
gpg_error_t yubikey_commands (card_info_t info,
|
||||||
estream_t fp, int argc, char *argv[]);
|
estream_t fp, int argc, const char *argv[]);
|
||||||
|
|
||||||
|
|
||||||
#endif /*GNUPG_GPG_CARD_H*/
|
#endif /*GNUPG_GPG_CARD_H*/
|
||||||
|
@ -558,7 +558,7 @@ decrypt_stream_status_cb (void *opaque, const char *keyword, char *args)
|
|||||||
log_debug ("gpg status: %s %s\n", keyword, args);
|
log_debug ("gpg status: %s %s\n", keyword, args);
|
||||||
if (!strcmp (keyword, "DECRYPTION_KEY") && !decinfo->fpr)
|
if (!strcmp (keyword, "DECRYPTION_KEY") && !decinfo->fpr)
|
||||||
{
|
{
|
||||||
char *fields[3];
|
const char *fields[3];
|
||||||
|
|
||||||
if (split_fields (args, fields, DIM (fields)) >= 3)
|
if (split_fields (args, fields, DIM (fields)) >= 3)
|
||||||
{
|
{
|
||||||
@ -1199,7 +1199,7 @@ static void
|
|||||||
encrypt_response_status_cb (void *opaque, const char *keyword, char *args)
|
encrypt_response_status_cb (void *opaque, const char *keyword, char *args)
|
||||||
{
|
{
|
||||||
gpg_error_t *failure = opaque;
|
gpg_error_t *failure = opaque;
|
||||||
char *fields[2];
|
const char *fields[2];
|
||||||
|
|
||||||
if (DBG_CRYPTO)
|
if (DBG_CRYPTO)
|
||||||
log_debug ("gpg status: %s %s\n", keyword, args);
|
log_debug ("gpg status: %s %s\n", keyword, args);
|
||||||
|
@ -1553,8 +1553,8 @@ retrieve_options_from_program (gc_component_id_t component, int only_installed)
|
|||||||
|
|
||||||
while ((length = es_read_line (outfp, &line, &line_len, NULL)) > 0)
|
while ((length = es_read_line (outfp, &line, &line_len, NULL)) > 0)
|
||||||
{
|
{
|
||||||
char *fields[4];
|
const char *fields[4];
|
||||||
char *optname, *optdesc;
|
const char *optname, *optdesc;
|
||||||
unsigned int optflags;
|
unsigned int optflags;
|
||||||
int short_opt;
|
int short_opt;
|
||||||
gc_arg_type_t arg_type;
|
gc_arg_type_t arg_type;
|
||||||
@ -1621,8 +1621,8 @@ retrieve_options_from_program (gc_component_id_t component, int only_installed)
|
|||||||
string_array_size,
|
string_array_size,
|
||||||
sizeof *string_array);
|
sizeof *string_array);
|
||||||
}
|
}
|
||||||
string_array[string_array_used++] = optname = xstrdup (fields[0]);
|
optname = string_array[string_array_used++] = xstrdup (fields[0]);
|
||||||
string_array[string_array_used++] = optdesc = xstrdup (fields[3]);
|
optdesc = string_array[string_array_used++] = xstrdup (fields[3]);
|
||||||
|
|
||||||
/* Create an option table which can then be supplied to
|
/* Create an option table which can then be supplied to
|
||||||
* gpgrt_parser. Unfortunately there is no private pointer in
|
* gpgrt_parser. Unfortunately there is no private pointer in
|
||||||
|
@ -361,7 +361,7 @@ query_swdb (estream_t out, const char *name, const char *current_version)
|
|||||||
size_t length_of_line = 0;
|
size_t length_of_line = 0;
|
||||||
size_t maxlen;
|
size_t maxlen;
|
||||||
ssize_t len;
|
ssize_t len;
|
||||||
char *fields[2];
|
const char *fields[2];
|
||||||
char *p;
|
char *p;
|
||||||
gnupg_isotime_t filedate = {0};
|
gnupg_isotime_t filedate = {0};
|
||||||
gnupg_isotime_t verified = {0};
|
gnupg_isotime_t verified = {0};
|
||||||
|
@ -953,7 +953,7 @@ install_key_from_spec_file (const char *fname)
|
|||||||
char *line = NULL;
|
char *line = NULL;
|
||||||
size_t linelen = 0;
|
size_t linelen = 0;
|
||||||
size_t maxlen = 2048;
|
size_t maxlen = 2048;
|
||||||
char *fields[2];
|
const char *fields[2];
|
||||||
unsigned int lnr = 0;
|
unsigned int lnr = 0;
|
||||||
|
|
||||||
if (!fname || !strcmp (fname, ""))
|
if (!fname || !strcmp (fname, ""))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user