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>