Commit c86dd38a by Vicent Martí

Merge pull request #866 from arrbee/fix-config-file-parsing

Config file parser includes = in name if no space around it
parents c9d78bde 616c1433
......@@ -1343,10 +1343,8 @@ static int parse_variable(diskfile_backend *cfg, char **var_name, char **var_val
else
value_start = var_end + 1;
if (git__isspace(var_end[-1])) {
do var_end--;
while (git__isspace(var_end[0]));
}
do var_end--;
while (git__isspace(*var_end));
*var_name = git__strndup(line, var_end - line + 1);
GITERR_CHECK_ALLOC(*var_name);
......
......@@ -266,6 +266,22 @@ void test_config_read__foreach_match(void)
git_config_free(cfg);
}
void test_config_read__whitespace_not_required_around_assignment(void)
{
git_config *cfg;
const char *str;
cl_git_pass(git_config_open_ondisk(&cfg, cl_fixture("config/config14")));
cl_git_pass(git_config_get_string(&str, cfg, "a.b"));
cl_assert_equal_s(str, "c");
cl_git_pass(git_config_get_string(&str, cfg, "d.e"));
cl_assert_equal_s(str, "f");
git_config_free(cfg);
}
#if 0
BEGIN_TEST(config10, "a repo's config overrides the global config")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment