Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 May 2018 12:25:01 +0000 (UTC)
From:      "Andrey V. Elsukov" <ae@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r333458 - head/sbin/ipfw
Message-ID:  <201805101225.w4ACP1ER059201@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201805101225.w4ACP1ER059201>