diff options
| author | Marcus Brinkmann <[email protected]> | 2017-08-15 23:50:00 +0000 | 
|---|---|---|
| committer | Marcus Brinkmann <[email protected]> | 2017-08-15 23:50:00 +0000 | 
| commit | 3244d4daff892d5d3c39e78f4eb0934379beda2c (patch) | |
| tree | 4dd1bc014c39de1ca0a010319ef0948841dac5e6 /src | |
| parent | gpgconf: Fix symbol export. (diff) | |
| download | gpgme-3244d4daff892d5d3c39e78f4eb0934379beda2c.tar.gz gpgme-3244d4daff892d5d3c39e78f4eb0934379beda2c.zip | |
gpgconf: Fix some warnings.
* tests/gpg/t-gpgconf.c (main): Fix warnings.
* src/engine-gpgconf.c (struct gpgconf_config_dir_s): New struct.
(gpgconf_config_dir_cb, gpgconf_conf_dir) Use it to fix warning.
Signed-off-by: Marcus Brinkmann <[email protected]>
Diffstat (limited to 'src')
| -rw-r--r-- | src/engine-gpgconf.c | 24 | 
1 files changed, 15 insertions, 9 deletions
| diff --git a/src/engine-gpgconf.c b/src/engine-gpgconf.c index 2b0f448a..84d8df7b 100644 --- a/src/engine-gpgconf.c +++ b/src/engine-gpgconf.c @@ -986,20 +986,25 @@ gpgconf_conf_save (void *engine, gpgme_conf_comp_t comp)  } +struct gpgconf_config_dir_s +{ +  const char *what; +  char *result; +}; +  static gpgme_error_t  gpgconf_config_dir_cb (void *hook, char *line)  {    /* This is an input- and output-parameter.  */ -  char **str_p = (char **) hook; -  char *what = *str_p; -  int len = strlen(what); +  struct gpgconf_config_dir_s *data = (char **) hook; +  int len = strlen(data->what); -  if (!strncmp(line, what, len) && line[len] == ':') +  if (!strncmp(line, data->what, len) && line[len] == ':')      {        char *result = strdup(&line[len + 1]);        if (!result)  	return gpg_error_from_syserror (); -      *str_p = result; +      data->result = result;        return gpg_error(GPG_ERR_USER_1);      }    return 0; @@ -1010,15 +1015,16 @@ static gpgme_error_t  gpgconf_conf_dir (void *engine, const char *what, char **result)  {    gpgme_error_t err; -  char *res = what; +  struct gpgconf_config_dir_s data; -  *result = NULL; +  data.what = what; +  data.result = NULL;    err = gpgconf_read (engine, "--list-dirs", NULL, -		      gpgconf_config_dir_cb, &res); +		      gpgconf_config_dir_cb, &data);    if (gpg_err_code (err) == GPG_ERR_USER_1)      {        /* This signals to use that a result was found.  */ -      *result = res; +      *result = data.result;        return 0;      } | 
