X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=config.c;h=fc27913c3bb3646a6fd6592356be6a979e9cc7d2;hb=4b340593551217904d794cc0a8db55db89b5b066;hp=4183f80262ea9f24e286295a2295f93459548b78;hpb=fc26f57b847b86ba330ea543a6dfc86a10d4cce3;p=git.git diff --git a/config.c b/config.c index 4183f8026..fc27913c3 100644 --- a/config.c +++ b/config.c @@ -135,8 +135,10 @@ static char *parse_value(void) for (;;) { int c = get_next_char(); if (c == '\n') { - if (quote) + if (quote) { + cf->linenr--; return NULL; + } return cf->value.buf; } if (comment) @@ -226,7 +228,7 @@ static int get_extended_base_var(char *name, int baselen, int c) { do { if (c == '\n') - return -1; + goto error_incomplete_line; c = get_next_char(); } while (isspace(c)); @@ -238,13 +240,13 @@ static int get_extended_base_var(char *name, int baselen, int c) for (;;) { int c = get_next_char(); if (c == '\n') - return -1; + goto error_incomplete_line; if (c == '"') break; if (c == '\\') { c = get_next_char(); if (c == '\n') - return -1; + goto error_incomplete_line; } name[baselen++] = c; if (baselen > MAXNAME / 2) @@ -255,6 +257,9 @@ static int get_extended_base_var(char *name, int baselen, int c) if (get_next_char() != ']') return -1; return baselen; +error_incomplete_line: + cf->linenr--; + return -1; } static int get_base_var(char *name) @@ -491,6 +496,9 @@ static int git_default_core_config(const char *var, const char *value) return 0; } + if (!strcmp(var, "core.attributesfile")) + return git_config_pathname(&git_attributes_file, var, value); + if (!strcmp(var, "core.bare")) { is_bare_repository_cfg = git_config_bool(var, value); return 0;