Fix gpgconf option change if not self-assigning.

2011-01-21  Marcus Brinkmann  <mb@g10code.com>

        * engine-gpgconf.c (_gpgme_conf_opt_change): Fix the case that is
        not self-assignment.
This commit is contained in:
Marcus Brinkmann 2011-01-21 04:21:30 +01:00
parent 3a7058cade
commit 1f0f033f55
2 changed files with 8 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2011-01-21 Marcus Brinkmann <mb@g10code.com>
* engine-gpgconf.c (_gpgme_conf_opt_change): Fix the case that is
not self-assignment.
2010-12-08 Werner Koch <wk@g10code.com>
* gpgme-tool.c (strcpy_escaped_plus): New.

View File

@ -622,7 +622,7 @@ _gpgme_conf_opt_change (gpgme_conf_opt_t opt, int reset, gpgme_conf_arg_t arg)
{
if (opt->new_value)
release_arg (opt->new_value, opt->alt_type);
opt->new_value = NULL;
opt->new_value = NULL;
opt->change_value = 0;
}
else
@ -630,10 +630,8 @@ _gpgme_conf_opt_change (gpgme_conf_opt_t opt, int reset, gpgme_conf_arg_t arg)
/* Support self-assignment, for example for adding an item to an
existing list. */
if (opt->new_value && arg != opt->new_value)
{
release_arg (opt->new_value, opt->alt_type);
opt->new_value = arg;
}
release_arg (opt->new_value, opt->alt_type);
opt->new_value = arg;
opt->change_value = 1;
}
return 0;