2010-11-19 Marcus Brinkmann <mb@g10code.com>
* engine-gpgconf.c (_gpgme_conf_opt_change): Support self-assignment. Requested by Marc Mutz.
This commit is contained in:
parent
f1527436c4
commit
ed8c52941c
@ -1,3 +1,8 @@
|
||||
2010-11-19 Marcus Brinkmann <mb@g10code.com>
|
||||
|
||||
* engine-gpgconf.c (_gpgme_conf_opt_change): Support
|
||||
self-assignment. Requested by Marc Mutz.
|
||||
|
||||
2010-11-17 Marcus Brinkmann <mb@g10code.com>
|
||||
|
||||
* vasprintf.c (int_vasprintf) [HAVE_W32CE_SYSTEM]: Just use a
|
||||
|
@ -618,17 +618,22 @@ _gpgme_conf_arg_release (gpgme_conf_arg_t arg, gpgme_conf_type_t type)
|
||||
gpgme_error_t
|
||||
_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);
|
||||
|
||||
if (reset)
|
||||
{
|
||||
opt->new_value = NULL;
|
||||
if (opt->new_value)
|
||||
release_arg (opt->new_value, opt->alt_type);
|
||||
opt->new_value = NULL;
|
||||
opt->change_value = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
opt->new_value = 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;
|
||||
}
|
||||
opt->change_value = 1;
|
||||
}
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user