Skip to content

Commit daeef15

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 9adc79f commit daeef15

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

src/libgit2/config.c

+11-8
Original file line numberDiff line numberDiff line change
@@ -650,9 +650,10 @@ static int get_backend_for_use(git_config_backend **out,
650650
int git_config_delete_entry(git_config *cfg, const char *name)
651651
{
652652
git_config_backend *backend;
653+
int error = 0;
653654

654-
if (get_backend_for_use(&backend, cfg, name, BACKEND_USE_DELETE) < 0)
655-
return GIT_ENOTFOUND;
655+
if ((error = get_backend_for_use(&backend, cfg, name, BACKEND_USE_DELETE)) < 0)
656+
return error;
656657

657658
return backend->del(backend, name);
658659
}
@@ -684,8 +685,8 @@ int git_config_set_string(git_config *cfg, const char *name, const char *value)
684685
return -1;
685686
}
686687

687-
if (get_backend_for_use(&backend, cfg, name, BACKEND_USE_SET) < 0)
688-
return GIT_ENOTFOUND;
688+
if ((error = get_backend_for_use(&backend, cfg, name, BACKEND_USE_SET)) < 0)
689+
return error;
689690

690691
error = backend->set(backend, name, value);
691692

@@ -1125,19 +1126,21 @@ int git_config_multivar_iterator_new(git_config_iterator **out, const git_config
11251126
int git_config_set_multivar(git_config *cfg, const char *name, const char *regexp, const char *value)
11261127
{
11271128
git_config_backend *backend;
1129+
int error = 0;
11281130

1129-
if (get_backend_for_use(&backend, cfg, name, BACKEND_USE_SET) < 0)
1130-
return GIT_ENOTFOUND;
1131+
if ((error = get_backend_for_use(&backend, cfg, name, BACKEND_USE_SET)) < 0)
1132+
return error;
11311133

11321134
return backend->set_multivar(backend, name, regexp, value);
11331135
}
11341136

11351137
int git_config_delete_multivar(git_config *cfg, const char *name, const char *regexp)
11361138
{
11371139
git_config_backend *backend;
1140+
int error = 0;
11381141

1139-
if (get_backend_for_use(&backend, cfg, name, BACKEND_USE_DELETE) < 0)
1140-
return GIT_ENOTFOUND;
1142+
if ((error = get_backend_for_use(&backend, cfg, name, BACKEND_USE_DELETE)) < 0)
1143+
return error;
11411144

11421145
return backend->del_multivar(backend, name, regexp);
11431146
}

0 commit comments

Comments
 (0)