diff options
| author | Carlos Martín Nieto <carlos@cmartin.tk> | 2011-12-16 01:39:28 +0100 |
|---|---|---|
| committer | Carlos Martín Nieto <carlos@cmartin.tk> | 2011-12-16 01:39:28 +0100 |
| commit | 7b2b4adfb1cb71f085a88418d1d5b631bf26ebd8 (patch) | |
| tree | 4c1ac24ba06dafa1d841ae4ace6e96df6a88aeb3 /src/config_file.c | |
| parent | 2ea14da648fb87a0b2e756227b385091bf1b0550 (diff) | |
| download | libgit2-7b2b4adfb1cb71f085a88418d1d5b631bf26ebd8.tar.gz | |
Revert "config: Return ENOTFOUND when a variable was deleted"
This would make us think that config variables like
[core]
something
is missing.
Diffstat (limited to 'src/config_file.c')
| -rw-r--r-- | src/config_file.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/config_file.c b/src/config_file.c index 45b43b7b8..7a5865210 100644 --- a/src/config_file.c +++ b/src/config_file.c @@ -391,15 +391,17 @@ static int config_set(git_config_file *cfg, const char *name, const char *value) static int config_get(git_config_file *cfg, const char *name, const char **out) { cvar_t *var; + int error = GIT_SUCCESS; diskfile_backend *b = (diskfile_backend *)cfg; var = cvar_list_find(&b->var_list, name); - if (var == NULL || var->value == NULL) + if (var == NULL) return git__throw(GIT_ENOTFOUND, "Variable '%s' not found", name); *out = var->value; - return GIT_SUCCESS; + + return error == GIT_SUCCESS ? GIT_SUCCESS : git__rethrow(error, "Failed to get config value for %s", name); } int git_config_file__ondisk(git_config_file **out, const char *path) |
