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> 2010-12-08 Werner Koch <wk@g10code.com>
* gpgme-tool.c (strcpy_escaped_plus): New. * 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) if (opt->new_value)
release_arg (opt->new_value, opt->alt_type); release_arg (opt->new_value, opt->alt_type);
opt->new_value = NULL; opt->new_value = NULL;
opt->change_value = 0; opt->change_value = 0;
} }
else 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 /* Support self-assignment, for example for adding an item to an
existing list. */ existing list. */
if (opt->new_value && arg != opt->new_value) if (opt->new_value && arg != opt->new_value)
{ release_arg (opt->new_value, opt->alt_type);
release_arg (opt->new_value, opt->alt_type); opt->new_value = arg;
opt->new_value = arg;
}
opt->change_value = 1; opt->change_value = 1;
} }
return 0; return 0;