]> git.ipfire.org Git - thirdparty/nftables.git/commit
parser: recover from errors in any block
authorPatrick McHardy <kaber@trash.net>
Tue, 4 Feb 2014 08:09:27 +0000 (08:09 +0000)
committerPatrick McHardy <kaber@trash.net>
Tue, 4 Feb 2014 08:12:01 +0000 (08:12 +0000)
commitf3129a3cc4800321ed2157eb400da8b43398606e
tree9eb9a47256de3a19f1571abc80854556fcdf7acd
parentf164cb18c0a94701a641bce4f141d51990b8eef1
parser: recover from errors in any block

Move error recovery to the common_block definition to handle errors
in any block. Queue those errors and abort parsing once a threshold
is reached.

With this in place, we can continue parsing when errors occur and
show all of them to the user at once.

tests/error.1:3:8-8: Error: syntax error, unexpected '{', expecting string
filter {
       ^
tests/error.1:4:13-13: Error: syntax error, unexpected newline
filter input
            ^
tests/error.1:5:17-17: Error: syntax error, unexpected newline
filter input tcp
                ^
tests/error.1:6:23-23: Error: syntax error, unexpected newline
filter input tcp dport

Signed-off-by: Patrick McHardy <kaber@trash.net>
include/nftables.h
include/parser.h
src/main.c
src/parser.y