summaryrefslogtreecommitdiff
path: root/src/config_file.c
diff options
context:
space:
mode:
authorVicent Marti <tanoku@gmail.com>2011-12-15 18:14:41 +0100
committerVicent Marti <tanoku@gmail.com>2011-12-15 18:14:41 +0100
commit2ea14da648fb87a0b2e756227b385091bf1b0550 (patch)
tree0b957561f67e1fb6e7c007ac81954d971fd5b6fa /src/config_file.c
parentbc57b80b837a5497940ac5c3486da6b471420edc (diff)
downloadlibgit2-2ea14da648fb87a0b2e756227b385091bf1b0550.tar.gz
config: Return ENOTFOUND when a variable was deleted
Diffstat (limited to 'src/config_file.c')
-rw-r--r--src/config_file.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/config_file.c b/src/config_file.c
index 7a5865210..45b43b7b8 100644
--- a/src/config_file.c
+++ b/src/config_file.c
@@ -391,17 +391,15 @@ 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)
+ if (var == NULL || var->value == NULL)
return git__throw(GIT_ENOTFOUND, "Variable '%s' not found", name);
*out = var->value;
-
- return error == GIT_SUCCESS ? GIT_SUCCESS : git__rethrow(error, "Failed to get config value for %s", name);
+ return GIT_SUCCESS;
}
int git_config_file__ondisk(git_config_file **out, const char *path)