]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Filter: Remove number of args from METHOD_R()
authorOndrej Zajicek <santiago@crfreenet.org>
Tue, 27 Jun 2023 19:16:11 +0000 (21:16 +0200)
committerOndrej Zajicek <santiago@crfreenet.org>
Tue, 12 Sep 2023 14:31:52 +0000 (16:31 +0200)
Macro METHOD_R() is used for simplest methods, there is no place to
define argument types, so let's force it to be 0.

filter/decl.m4
filter/f-inst.c

index d292f65b9921eba891a6b29725a51d6641c803ba..cc5e9d8e08a43c179d3986c70a9e2df9368f1f46 100644 (file)
@@ -305,7 +305,7 @@ INST([[FI_METHOD__]]$1[[__]]$2, m4_eval($3 + 1), 1) {
   METHOD_CONSTRUCTOR("$2");
 }')
 
-m4_define(METHOD_R, `METHOD($1, $2, $3, [[ RESULT($4, $5, $6) ]])')
+m4_define(METHOD_R, `METHOD($1, $2, 0, [[ RESULT($3, $4, $5) ]])')
 
 #      2) Code wrapping
 #      The code produced in 1xx temporary diversions is a raw code without
index 6977f65612212e5af25b12fdb01c6acfc30e21da..434869c53f4f5e3ff337a567f771d74b38d5d4a4 100644 (file)
     RESULT(T_BOOL, i, (v1.type != T_VOID) && !undef_value(v1));
   }
 
-  METHOD_R(T_NET, type, 0, T_ENUM_NETTYPE, i, v1.val.net->type);
-  METHOD_R(T_IP, is_v4, 0, T_BOOL, i, ipa_is_ip4(v1.val.ip));
+  METHOD_R(T_NET, type, T_ENUM_NETTYPE, i, v1.val.net->type);
+  METHOD_R(T_IP, is_v4, T_BOOL, i, ipa_is_ip4(v1.val.ip));
 
   /* Add initialized variable */
   INST(FI_VAR_INIT, 1, 0) {
     RESULT_VAL(val);
   }
 
-  METHOD_R(T_PATH, empty, 0, T_PATH, ad, &null_adata);
-  METHOD_R(T_CLIST, empty, 0, T_CLIST, ad, &null_adata);
-  METHOD_R(T_ECLIST, empty, 0, T_ECLIST, ad, &null_adata);
-  METHOD_R(T_LCLIST, empty, 0, T_LCLIST, ad, &null_adata);
+  METHOD_R(T_PATH, empty, T_PATH, ad, &null_adata);
+  METHOD_R(T_CLIST, empty, T_CLIST, ad, &null_adata);
+  METHOD_R(T_ECLIST, empty, T_ECLIST, ad, &null_adata);
+  METHOD_R(T_LCLIST, empty, T_LCLIST, ad, &null_adata);
 
   /* Common loop begin instruction, always created by f_for_cycle() */
   INST(FI_FOR_LOOP_START, 0, 3) {
   }
 
   /* Get length of */
-  METHOD_R(T_NET, len, 0, T_INT, i, net_pxlen(v1.val.net));
-  METHOD_R(T_PATH, len, 0, T_INT, i, as_path_getlen(v1.val.ad));
-  METHOD_R(T_CLIST, len, 0, T_INT, i, int_set_get_size(v1.val.ad));
-  METHOD_R(T_ECLIST, len, 0, T_INT, i, ec_set_get_size(v1.val.ad));
-  METHOD_R(T_LCLIST, len, 0, T_INT, i, lc_set_get_size(v1.val.ad));
+  METHOD_R(T_NET, len, T_INT, i, net_pxlen(v1.val.net));
+  METHOD_R(T_PATH, len, T_INT, i, as_path_getlen(v1.val.ad));
+  METHOD_R(T_CLIST, len, T_INT, i, int_set_get_size(v1.val.ad));
+  METHOD_R(T_ECLIST, len, T_INT, i, ec_set_get_size(v1.val.ad));
+  METHOD_R(T_LCLIST, len, T_INT, i, lc_set_get_size(v1.val.ad));
 
   INST(FI_NET_SRC, 1, 1) {     /* Get src prefix */
     ARG(1, T_NET);
   ]]);
 
   /* Get ROA ASN or community ASN part */
-  METHOD_R(T_PAIR, asn, 0, T_INT, i, v1.val.i >> 16);
-  METHOD_R(T_LC, asn, 0, T_INT, i, v1.val.lc.asn);
+  METHOD_R(T_PAIR, asn, T_INT, i, v1.val.i >> 16);
+  METHOD_R(T_LC, asn, T_INT, i, v1.val.lc.asn);
 
   METHOD(T_NET, asn, 0, [[
         if (!net_is_roa(v1.val.net))
 
 
   /* Convert prefix to IP */
-  METHOD_R(T_NET, ip, 0, T_IP, ip, net_prefix(v1.val.net));
+  METHOD_R(T_NET, ip, T_IP, ip, net_prefix(v1.val.net));
 
   INST(FI_ROUTE_DISTINGUISHER, 1, 1) {
     ARG(1, T_NET);
   }
 
   /* Get last ASN from non-aggregated part of AS PATH */
-  METHOD_R(T_PATH, last_nonaggregated, 0, T_INT, i, as_path_get_last_nonaggregated(v1.val.ad));
+  METHOD_R(T_PATH, last_nonaggregated, T_INT, i, as_path_get_last_nonaggregated(v1.val.ad));
 
   /* Get data part from the standard community */
-  METHOD_R(T_PAIR, data, 0, T_INT, i, v1.val.i & 0xFFFF);
+  METHOD_R(T_PAIR, data, T_INT, i, v1.val.i & 0xFFFF);
 
   /* Get data1 part from the large community */
-  METHOD_R(T_LC, data1, 0, T_INT, i, v1.val.lc.ldp1);
+  METHOD_R(T_LC, data1, T_INT, i, v1.val.lc.ldp1);
 
   /* Get data2 part from the large community */
-  METHOD_R(T_LC, data2, 0, T_INT, i, v1.val.lc.ldp2);
+  METHOD_R(T_LC, data2, T_INT, i, v1.val.lc.ldp2);
 
   INST(FI_CLIST_MIN, 1, 1) {   /* Get minimum element from list */
     ARG(1, T_CLIST);