mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-30 22:24:56 +00:00
config_file: honor error
Return an error if we can't write an updated version of the config file after config_delete. Along with that, fix an uninitialized warning. Signed-off-by: schu <schu-github@schulog.org>
This commit is contained in:
parent
be00b00dd1
commit
e95849c14f
@ -406,7 +406,8 @@ static int config_get(git_config_file *cfg, const char *name, const char **out)
|
|||||||
|
|
||||||
static int config_delete(git_config_file *cfg, const char *name)
|
static int config_delete(git_config_file *cfg, const char *name)
|
||||||
{
|
{
|
||||||
cvar_t *iter, *prev;
|
int error;
|
||||||
|
cvar_t *iter, *prev = NULL;
|
||||||
diskfile_backend *b = (diskfile_backend *)cfg;
|
diskfile_backend *b = (diskfile_backend *)cfg;
|
||||||
|
|
||||||
CVAR_LIST_FOREACH (&b->var_list, iter) {
|
CVAR_LIST_FOREACH (&b->var_list, iter) {
|
||||||
@ -419,9 +420,11 @@ static int config_delete(git_config_file *cfg, const char *name)
|
|||||||
|
|
||||||
git__free(iter->value);
|
git__free(iter->value);
|
||||||
iter->value = NULL;
|
iter->value = NULL;
|
||||||
config_write(b, iter);
|
error = config_write(b, iter);
|
||||||
cvar_free(iter);
|
cvar_free(iter);
|
||||||
return GIT_SUCCESS;
|
return error == GIT_SUCCESS ?
|
||||||
|
GIT_SUCCESS :
|
||||||
|
git__rethrow(error, "Failed to update config file");
|
||||||
}
|
}
|
||||||
/* Store it for the next round */
|
/* Store it for the next round */
|
||||||
prev = iter;
|
prev = iter;
|
||||||
|
Loading…
Reference in New Issue
Block a user