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 */ _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"