diff options
author | Junio C Hamano <gitster@pobox.com> | 2012-03-26 12:10:05 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-03-26 12:10:05 -0700 |
commit | ed6ce4382b5cb34e98ca3db2f19de82a037da322 (patch) | |
tree | e9065a1c320f0d6363667eef498a7fd56f7ec90c /config.c | |
parent | grep doc: add --break / --heading / -W to synopsis (diff) | |
parent | config: report errors at the EOL with correct line number (diff) | |
download | tgif-ed6ce4382b5cb34e98ca3db2f19de82a037da322.tar.xz |
Merge branch 'ms/maint-config-error-at-eol-linecount' into maint
* ms/maint-config-error-at-eol-linecount:
config: report errors at the EOL with correct line number
Diffstat (limited to 'config.c')
-rw-r--r-- | config.c | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -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) |