X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=config.c;h=68d32940f3f8f1512fa36702beb98c2457ca5d46;hb=19a6cd372a998df3079d870e02c064c5bb101841;hp=ad0390819d2701d6153adf9db2947ee4908742ce;hpb=4d50dbcda574a4618c84c26d0b8b9ef34980a1b7;p=git.git diff --git a/config.c b/config.c index ad0390819..68d32940f 100644 --- a/config.c +++ b/config.c @@ -196,8 +196,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) @@ -287,7 +289,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)); @@ -299,13 +301,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) @@ -316,6 +318,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)