[nft PATCH 1/3] scanner: Do not convert tabs into spaces

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <phil@xxxxxx>
---
 src/scanner.l | 16 +---------------
 1 file changed, 1 insertion(+), 15 deletions(-)

diff --git a/src/scanner.l b/src/scanner.l
index 657fa2daa1f28..ed01b5e7b73e5 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);
-			}
-
+{tab}+
 {space}+
 {comment}
 
-- 
2.17.0

--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux