]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Filter: FID_MEMBER debug string is a C constant string
authorMaria Matejka <mq@ucw.cz>
Mon, 15 Jul 2019 13:17:04 +0000 (15:17 +0200)
committerMaria Matejka <mq@ucw.cz>
Mon, 15 Jul 2019 13:17:04 +0000 (15:17 +0200)
filter/decl.m4
filter/f-inst.c

index d8bbf2bc784164d0f44ebdd6eb45a484da77d90e..4d5b70dcfa29d80663eed425b19d26c75011c287 100644 (file)
@@ -87,7 +87,7 @@ if ($3) return 0;
 ]])
 m4_ifelse($4,,,[[
 FID_DUMP_BODY()m4_dnl
-debug("%s$4\n", INDENT, $5);
+debug("%s" $4 "\n", INDENT, $5);
 ]])
 FID_INTERPRET_EXEC()m4_dnl
 const $1 $2 = whati->$2
@@ -208,8 +208,8 @@ m4_define(RESULT_VAL, `FID_HIC(, [[do { res = $1; fstk->vcnt++; } while (0)]],
 m4_define(RESULT_VOID, `RESULT_VAL([[ (struct f_val) { .type = T_VOID } ]])')
 
 #      Some common filter instruction members
-m4_define(SYMBOL, `FID_MEMBER(struct symbol *, sym, [[strcmp(f1->sym->name, f2->sym->name) || (f1->sym->class != f2->sym->class)]], symbol %s, item->sym->name)')
-m4_define(RTC, `FID_MEMBER(struct rtable_config *, rtc, [[strcmp(f1->rtc->name, f2->rtc->name)]], route table %s, item->rtc->name)')
+m4_define(SYMBOL, `FID_MEMBER(struct symbol *, sym, [[strcmp(f1->sym->name, f2->sym->name) || (f1->sym->class != f2->sym->class)]], "symbol %s", item->sym->name)')
+m4_define(RTC, `FID_MEMBER(struct rtable_config *, rtc, [[strcmp(f1->rtc->name, f2->rtc->name)]], "route table %s", item->rtc->name)')
 m4_define(STATIC_ATTR, `FID_MEMBER(struct f_static_attr, sa, f1->sa.sa_code != f2->sa.sa_code,,)')
 m4_define(DYNAMIC_ATTR, `FID_MEMBER(struct f_dynamic_attr, da, f1->da.ea_code != f2->da.ea_code,,)')
 m4_define(ACCESS_RTE, `FID_HIC(,[[do { if (!fs->rte) runtime("No route to access"); } while (0)]],NEVER_CONSTANT())')
index f13048332479a92d836e056415f5863071de975f..997bc6acf7860a84946b6b6bf2c38b5074a7acd6 100644 (file)
     ARG_ANY(1);
     ARG(2, T_INT);
 
-    FID_MEMBER(enum ec_subtype, ecs, f1->ecs != f2->ecs, ec subtype %s, ec_subtype_str(item->ecs));
+    FID_MEMBER(enum ec_subtype, ecs, f1->ecs != f2->ecs, "ec subtype %s", ec_subtype_str(item->ecs));
 
     int check, ipv4_used;
     u32 key, val;
       struct f_val,
       val,
       [[ !val_same(&(f1->val), &(f2->val)) ]],
-      value %s,
+      "value %s",
       val_dump(&(item->val))
     );
 
 
   INST(FI_DIE, 0, 0) {
     NEVER_CONSTANT;
-    FID_MEMBER(enum filter_return, fret, f1->fret != f2->fret, %s, filter_return_str(item->fret));
+    FID_MEMBER(enum filter_return, fret, f1->fret != f2->fret, "%s", filter_return_str(item->fret));
 
     if (fs->buf.start < fs->buf.pos)
       log_commit(*L_INFO, &fs->buf);
   INST(FI_SWITCH, 1, 0) {
     ARG_ANY(1);
 
-    FID_MEMBER(struct f_tree *, tree, [[!same_tree(f1->tree, f2->tree)]], tree %p, item->tree);
+    FID_MEMBER(struct f_tree *, tree, [[!same_tree(f1->tree, f2->tree)]], "tree %p", item->tree);
 
     const struct f_tree *t = find_tree(tree, &v1);
     if (!t) {
     NEVER_CONSTANT;
     ARG(1, T_BOOL);
 
-    FID_MEMBER(char *, s, [[strcmp(f1->s, f2->s)]], string %s, item->s);
+    FID_MEMBER(char *, s, [[strcmp(f1->s, f2->s)]], "string %s", item->s);
 
     ASSERT(s);