Commit d28830c2555820925d2d5ecf10d07436385d37d8

Carlos Martín Nieto 2011-03-30T13:40:19

Store the parsed variables Store the key-value pair as strings. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>

diff --git a/src/config.c b/src/config.c
index da0390d..8cf98f5 100644
--- a/src/config.c
+++ b/src/config.c
@@ -661,9 +661,9 @@ static char *build_varname(const char *section, const char *name, int name_len)
 
 static int parse_variable(git_config *cfg, const char *section_name, const char *line)
 {
-	int error;
+	int error = GIT_SUCCESS;
 	int has_value = 1;
-	const char *varname;
+	char *varname;
 
 	const char *var_end = NULL;
 	const char *value_start = NULL;
@@ -690,8 +690,14 @@ static int parse_variable(git_config *cfg, const char *section_name, const char 
 	}
 
 	varname = build_varname(section_name, line, var_end - line + 1);
+	if(varname == NULL)
+		return GIT_ENOMEM;
 
-	return GIT_SUCCESS;
+	config_set(cfg, varname, value_start);
+
+	free(varname);
+
+	return error;
 
 error:
 	return GIT_EOBJCORRUPTED;