summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <carlos@cmartin.tk>2011-12-16 01:39:28 +0100
committerCarlos Martín Nieto <carlos@cmartin.tk>2011-12-16 01:39:28 +0100
commit7b2b4adfb1cb71f085a88418d1d5b631bf26ebd8 (patch)
tree4c1ac24ba06dafa1d841ae4ace6e96df6a88aeb3
parent2ea14da648fb87a0b2e756227b385091bf1b0550 (diff)
downloadlibgit2-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.
-rw-r--r--src/config_file.c6
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)