From: Patrick McHardy Date: Mon, 22 Apr 2013 17:58:54 +0000 (+0200) Subject: parser: include leading '.' in concat subexpression location X-Git-Tag: v0.099~113 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1ea565b95524e160742c5ab4807907f07bd35504;p=thirdparty%2Fnftables.git parser: include leading '.' in concat subexpression location Make error messages point to the entire subexpression. Before: filter output ip daddr . tcp dport . tcp dport { 192.168.0.1 . ssh . ssh . ssh} ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^ After: filter output ip daddr . tcp dport . tcp dport { 192.168.0.1 . ssh . ssh . ssh} ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^ Signed-off-by: Patrick McHardy --- diff --git a/src/parser.y b/src/parser.y index 166cbcc5..ff8ca0d0 100644 --- a/src/parser.y +++ b/src/parser.y @@ -1078,6 +1078,12 @@ concat_expr : basic_expr $$ = concat_expr_alloc(&@$); compound_expr_add($$, $1); } else { + struct location rhs[] = { + [1] = @2, + [2] = @3, + }; + location_update(&$3->location, rhs, 2); + $$ = $1; $$->location = @$; }