svn commit: r333458 - head/sbin/ipfw

Andrey V. Elsukov ae at FreeBSD.org
Thu May 10 12:25:03 UTC 2018


Author: ae
Date: Thu May 10 12:25:01 2018
New Revision: 333458
URL: https://svnweb.freebsd.org/changeset/base/333458

Log:
  Fix the printing of rule comments.
  
  Change uint8_t type of opcode argument to int in the print_opcode()
  function. Use negative value to print the rest of opcodes, because
  zero value is O_NOP, and it can't be uses for this purpose.
  
  Reported by:	lev
  MFC after:	1 week

Modified:
  head/sbin/ipfw/ipfw2.c

Modified: head/sbin/ipfw/ipfw2.c
==============================================================================
--- head/sbin/ipfw/ipfw2.c	Thu May 10 11:36:16 2018	(r333457)
+++ head/sbin/ipfw/ipfw2.c	Thu May 10 12:25:01 2018	(r333458)
@@ -1708,7 +1708,7 @@ print_instruction(struct buf_pr *bp, const struct form
 
 static ipfw_insn *
 print_opcode(struct buf_pr *bp, struct format_opts *fo,
-    struct show_state *state, uint8_t opcode)
+    struct show_state *state, int opcode)
 {
 	ipfw_insn *cmd;
 	int l;
@@ -1716,7 +1716,7 @@ print_opcode(struct buf_pr *bp, struct format_opts *fo
 	for (l = state->rule->act_ofs, cmd = state->rule->cmd;
 	    l > 0; l -= F_LEN(cmd), cmd += F_LEN(cmd)) {
 		/* We use zero opcode to print the rest of options */
-		if (opcode != 0 && cmd->opcode != opcode)
+		if (opcode >= 0 && cmd->opcode != opcode)
 			continue;
 		/*
 		 * Skip O_NOP, when we printing the rest
@@ -2192,7 +2192,7 @@ show_static_rule(struct cmdline_opts *co, struct forma
 	    O_IP_DSTPORT, HAVE_DSTIP);
 
 	/* Print the rest of options */
-	while (print_opcode(bp, fo, &state, 0))
+	while (print_opcode(bp, fo, &state, -1))
 		;
 end:
 	/* Print comment at the end */


More information about the svn-src-all mailing list