Commit ec9edd5657a4e2b192ec43f4038f8ef3975020c0

Jakob Pfender 2011-05-19T15:46:36

config_file.c: Move to new error handling mechanism

diff --git a/src/config_file.c b/src/config_file.c
index a5addf1..1ee9afa 100644
--- a/src/config_file.c
+++ b/src/config_file.c
@@ -263,7 +263,7 @@ static int config_open(git_config_file *cfg)
 	gitfo_free_buf(&b->reader.buffer);
 	free(cfg);
 
-	return error;
+	return git__rethrow(error, "Failed to open config");
 }
 
 static void backend_free(git_config_file *_backend)
@@ -363,7 +363,7 @@ static int config_set(git_config_file *cfg, const char *name, const char *value)
 	if (error < GIT_SUCCESS)
 		cvar_free(var);
 
-	return error;
+	return error == GIT_SUCCESS ? GIT_SUCCESS : git__rethrow(error, "Failed to set config value");
 }
 
 /*
@@ -382,7 +382,7 @@ static int config_get(git_config_file *cfg, const char *name, const char **out)
 
 	*out = var->value;
 
-	return error;
+	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)
@@ -711,7 +711,7 @@ static int parse_section_header(diskfile_backend *cfg, char **section_out)
 			error = parse_section_header_ext(line, name, section_out);
 			free(line);
 			free(name);
-			return error;
+			return error == GIT_SUCCESS ? GIT_SUCCESS : git__rethrow(error, "Failed to parse header");
 		}
 
 		if (!config_keychar(c) && c != '.') {
@@ -874,7 +874,7 @@ static int config_parse(diskfile_backend *cfg_file)
 	if (current_section)
 		free(current_section);
 
-	return error;
+	return error == GIT_SUCCESS ? GIT_SUCCESS : git__rethrow(error, "Failed to parse config");
 }
 
 static int is_multiline_var(const char *str)