Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 71bb851

Browse files
committed
config: propagate errors from get_backend_for_use
Now that get_backend_for_use can return other error codes (by virtue of key-name normalization), make sure to propagate the appropriate error code when used.
1 parent 1e85681 commit 71bb851

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

src/libgit2/config.c

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -646,9 +646,10 @@ static int get_backend_for_use(git_config_backend **out,
646646
int git_config_delete_entry(git_config *cfg, const char *name)
647647
{
648648
git_config_backend *backend;
649+
int error = 0;
649650

650-
if (get_backend_for_use(&backend, cfg, name, BACKEND_USE_DELETE) < 0)
651-
return GIT_ENOTFOUND;
651+
if ((error = get_backend_for_use(&backend, cfg, name, BACKEND_USE_DELETE)) < 0)
652+
return error;
652653

653654
return backend->del(backend, name);
654655
}
@@ -680,8 +681,8 @@ int git_config_set_string(git_config *cfg, const char *name, const char *value)
680681
return -1;
681682
}
682683

683-
if (get_backend_for_use(&backend, cfg, name, BACKEND_USE_SET) < 0)
684-
return GIT_ENOTFOUND;
684+
if ((error = get_backend_for_use(&backend, cfg, name, BACKEND_USE_SET)) < 0)
685+
return error;
685686

686687
error = backend->set(backend, name, value);
687688

@@ -1121,19 +1122,21 @@ int git_config_multivar_iterator_new(git_config_iterator **out, const git_config
11211122
int git_config_set_multivar(git_config *cfg, const char *name, const char *regexp, const char *value)
11221123
{
11231124
git_config_backend *backend;
1125+
int error = 0;
11241126

1125-
if (get_backend_for_use(&backend, cfg, name, BACKEND_USE_DELETE) < 0)
1126-
return GIT_ENOTFOUND;
1127+
if ((error = get_backend_for_use(&backend, cfg, name, BACKEND_USE_SET)) < 0)
1128+
return error;
11271129

11281130
return backend->set_multivar(backend, name, regexp, value);
11291131
}
11301132

11311133
int git_config_delete_multivar(git_config *cfg, const char *name, const char *regexp)
11321134
{
11331135
git_config_backend *backend;
1136+
int error = 0;
11341137

1135-
if (get_backend_for_use(&backend, cfg, name, BACKEND_USE_DELETE) < 0)
1136-
return GIT_ENOTFOUND;
1138+
if ((error = get_backend_for_use(&backend, cfg, name, BACKEND_USE_DELETE)) < 0)
1139+
return error;
11371140

11381141
return backend->del_multivar(backend, name, regexp);
11391142
}

0 commit comments

Comments
 (0)