path: root/src/scanner.l
diff options
authorPhil Sutter <>2018-06-18 10:23:22 +0200
committerPablo Neira Ayuso <>2018-06-18 11:19:15 +0200
commit7f8d28105c8caeae7af5bccbe4a6d79f1f73e205 (patch)
treec63032a9eda303767d19d53abb9fd20937b1c83b /src/scanner.l
parent4677971a01dc4d92087dab139428cf4eaa189536 (diff)
scanner: Do not convert tabs into spaces
Commit 2f86dd5a43baf ("erec: Review erec_print()") changed erec_print() function to expect tabs in input by replacing the whitespace character in the marker line at the same offset with a tab character so that the marker aligns with the offending part of input. The need for that came from JSON input not having its tabs converted to spaces, which erec_print() didn't expect. Above change though has a shortcoming: When reading standard syntax input from a file, Flex code converts tabs into spaces. Location information is taken from this converted input, but when printing an error message, the offending input line is read from the input file directly (which still contains tabs). The solution is to simply drop said tab conversion from scanner.l. Signed-off-by: Phil Sutter <> Signed-off-by: Pablo Neira Ayuso <>
Diffstat (limited to 'src/scanner.l')
1 files changed, 1 insertions, 15 deletions
diff --git a/src/scanner.l b/src/scanner.l
index 657fa2da..ed01b5e7 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -614,21 +614,7 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr})
return NEWLINE;
-{tab} {
- /*
- * Compensate difference between visible length
- * and real length.
- */
- struct parser_state *state = yyget_extra(yyscanner);
- unsigned int diff;
- diff = TABSIZE - strlen("\t");
- diff -= (state->indesc->column -
- strlen("\t") - 1) % TABSIZE;
- update_pos(state, yylloc, diff);
- }