summaryrefslogtreecommitdiff
path: root/src/config.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/config.c')
-rw-r--r--src/config.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/config.c b/src/config.c
index 068c40260..aaad7d87c 100644
--- a/src/config.c
+++ b/src/config.c
@@ -535,6 +535,7 @@ int git_config_get_multivar(
file_internal *internal;
git_config_backend *file;
int ret = GIT_ENOTFOUND;
+ int err;
size_t i;
/*
@@ -547,9 +548,15 @@ int git_config_get_multivar(
continue;
file = internal->file;
- ret = file->get_multivar(file, name, regexp, cb, payload);
- if (ret < 0 && ret != GIT_ENOTFOUND)
- return ret;
+ err = file->get_multivar(file, name, regexp, cb, payload);
+ switch (err) {
+ case GIT_OK:
+ ret = GIT_OK;
+ case GIT_ENOTFOUND:
+ break;
+ default:
+ return err;
+ }
}
return (ret == GIT_ENOTFOUND) ? config_error_notfound(name) : 0;