aboutsummaryrefslogtreecommitdiffstats
path: root/filter
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2023-06-28 01:21:23 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2023-09-12 16:31:52 +0200
commitc696e3cb8e53229a438a8509a05e9d0ff27b8b4a (patch)
tree7984ca5c9a78f1bc03f366aa2c47d0ae62aa95c3 /filter
parentab61476ebf2b8873d542f77069ec111030329268 (diff)
downloadbird-c696e3cb8e53229a438a8509a05e9d0ff27b8b4a.tar.gz
Filter: Make f_method_call_*() usage symmetric
Diffstat (limited to 'filter')
-rw-r--r--filter/config.Y6
1 files changed, 2 insertions, 4 deletions
diff --git a/filter/config.Y b/filter/config.Y
index 1f5d2bc5..ffa8f115 100644
--- a/filter/config.Y
+++ b/filter/config.Y
@@ -866,17 +866,15 @@ static_attr:
| ONLINK { $$ = f_new_static_attr(T_BOOL, SA_ONLINK, 0); }
;
-term_dot_method: term '.' { f_method_call_start($1); } method_name_cont { $$ = $4; };
+term_dot_method: term '.' { f_method_call_start($1); } method_name_cont { f_method_call_end(); $$ = $4; };
method_name_cont:
CF_SYM_METHOD_BARE {
$$ = $1->method->new_inst(FM.object, NULL);
- f_method_call_end();
}
| CF_SYM_METHOD_ARGS {
f_method_call_args();
} '(' var_list ')' {
$$ = $1->method->new_inst(FM.object, $4);
- f_method_call_end();
}
;
@@ -1052,10 +1050,10 @@ cmd:
| CASE term '{' switch_body '}' {
$$ = f_new_inst(FI_SWITCH, $2, $4);
}
-
| lvalue '.' {
f_method_call_start(f_lval_getter(&$1));
} method_name_cont ';' {
+ f_method_call_end();
$$ = f_lval_setter(&$1, $4);
}
| BT_ASSERT '(' get_cf_position term get_cf_position ')' ';' { $$ = assert_done($4, $3 + 1, $5 - 1); }