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>
|
2010-11-17 Marcus Brinkmann <mb@g10code.com>
|
||||||
|
|
||||||
* vasprintf.c (int_vasprintf) [HAVE_W32CE_SYSTEM]: Just use a
|
* 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_error_t
|
||||||
_gpgme_conf_opt_change (gpgme_conf_opt_t opt, int reset, gpgme_conf_arg_t arg)
|
_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)
|
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;
|
opt->change_value = 0;
|
||||||
}
|
}
|
||||||
else
|
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;
|
opt->change_value = 1;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user