Merge "init: Fix parser line numbering"
This commit is contained in:
commit
fc0b4ff1c8
|
@ -187,7 +187,7 @@ static void parse_config(const char *fn, char *s)
|
|||
|
||||
nargs = 0;
|
||||
state.filename = fn;
|
||||
state.line = 1;
|
||||
state.line = 0;
|
||||
state.ptr = s;
|
||||
state.nexttoken = 0;
|
||||
state.parse_line = parse_line_no_op;
|
||||
|
@ -197,6 +197,7 @@ static void parse_config(const char *fn, char *s)
|
|||
state.parse_line(&state, 0, 0);
|
||||
return;
|
||||
case T_NEWLINE:
|
||||
state.line++;
|
||||
if (nargs) {
|
||||
int kw = lookup_keyword(args[0]);
|
||||
if (kw_is(kw, SECTION)) {
|
||||
|
|
|
@ -83,7 +83,6 @@ int next_token(struct parse_state *state)
|
|||
state->ptr = x;
|
||||
return T_EOF;
|
||||
case '\n':
|
||||
state->line++;
|
||||
x++;
|
||||
state->ptr = x;
|
||||
return T_NEWLINE;
|
||||
|
@ -94,9 +93,13 @@ int next_token(struct parse_state *state)
|
|||
continue;
|
||||
case '#':
|
||||
while (*x && (*x != '\n')) x++;
|
||||
state->line++;
|
||||
state->ptr = x;
|
||||
return T_NEWLINE;
|
||||
if (*x == '\n') {
|
||||
state->ptr = x+1;
|
||||
return T_NEWLINE;
|
||||
} else {
|
||||
state->ptr = x;
|
||||
return T_EOF;
|
||||
}
|
||||
default:
|
||||
goto text;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue