- r.action = $1;
- r.dir = $2;
- if ($3)
- strlcpy(r.topic, $3, sizeof r.topic);
- if ($4)
- strlcpy(r.from, $4, sizeof r.from);
-
- printf("%s %s <from> %s.\n", r.action == GTW_DROP ? "Drop" : "pass", r.topic[0]!=0 ? r.topic :"*", r.from[0]!=0 ? r.from : "<all>");
+ r.action = $2;
+ r.dir = $4;
+ if ($5)
+ strlcpy(r.topic, $5, sizeof r.topic);
+ if ($6)
+ strlcpy(r.from, $6, sizeof r.from);
+
+ ++nrule;
+ if ($1==1) {
+ printf("\t#%zu: %c %s %c %s <from> %s;\n", nrule, $3?'!':' ', r.action == GTW_DROP ? "Drop" : "pass",
+ r.dir==GTW_INOUT ? '=' : r.dir==GTW_IN ? '<' :'>',
+ r.topic[0]!=0 ? r.topic :"*", r.from[0]!=0 ? r.from : "<all>");
+ }