aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2019-09-20 10:16:51 +0200
committerMaria Matejka <mq@ucw.cz>2019-09-23 14:03:26 +0200
commit3f477ccb03ed99cf6754baaca179fcf791bcda55 (patch)
treea9e2335996d7b7c10ce9464e291e1f856aad3a55
parenteb1e43a9af9e1905b754f1f191d228e2676ce181 (diff)
downloadbird-3f477ccb03ed99cf6754baaca179fcf791bcda55.tar.gz
Filters: Function body comparison result now used.
Function bodies were compared in post-parse time, yet the result was not used and the functions were incorrectly considered the same as before. Now the result is used to reload affected protocols.
-rw-r--r--filter/f-inst.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/filter/f-inst.c b/filter/f-inst.c
index 49ae993a..385d18d0 100644
--- a/filter/f-inst.c
+++ b/filter/f-inst.c
@@ -897,6 +897,11 @@
NEVER_CONSTANT;
SYMBOL;
+ FID_SAME_BODY()
+ if (!(f2->sym->flags & SYM_FLAG_SAME))
+ return 0;
+ FID_INTERPRET_BODY()
+
/* Push the body on stack */
LINEX(sym->function);
curline.emask |= FE_RETURN;