diff options
author | Harald Welte <laforge@gnumonks.org> | 2002-09-20 15:25:13 +0000 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2002-09-20 15:25:13 +0000 |
commit | 42479ccb51bc11c7097b6c0fdca63766fe298cd6 (patch) | |
tree | f566fdc9f69c4d6282b38a6902dd72032a59b58e /extensions/libipt_connmark.c | |
parent | b05758a974c02c3c12449a102d82721da1073db5 (diff) |
fix connmark and mark match save() functions
Diffstat (limited to 'extensions/libipt_connmark.c')
-rw-r--r-- | extensions/libipt_connmark.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/extensions/libipt_connmark.c b/extensions/libipt_connmark.c index 14cbe331..8f81f02b 100644 --- a/extensions/libipt_connmark.c +++ b/extensions/libipt_connmark.c @@ -65,11 +65,8 @@ parse(int c, char **argv, int invert, unsigned int *flags, } static void -print_mark(unsigned long mark, unsigned long mask, int invert, int numeric) +print_mark(unsigned long mark, unsigned long mask, int numeric) { - if (invert) - fputc('!', stdout); - if(mask != 0xffffffff) printf("0x%lx/0x%lx ", mark, mask); else @@ -91,20 +88,25 @@ print(const struct ipt_ip *ip, const struct ipt_entry_match *match, int numeric) { + struct ipt_connmark_info *info = (struct ipt_connmark_info *)match->data; + printf("CONNMARK match "); - print_mark(((struct ipt_connmark_info *)match->data)->mark, - ((struct ipt_connmark_info *)match->data)->mask, - ((struct ipt_connmark_info *)match->data)->invert, numeric); + if (info->invert) + printf("!"); + print_mark(info->mark, info->mask, numeric); } /* Saves the union ipt_matchinfo in parsable form to stdout. */ static void save(const struct ipt_ip *ip, const struct ipt_entry_match *match) { + struct ipt_connmark_info *info = (struct ipt_connmark_info *)match->data; + + if (info->invert) + printf("! "); + printf("--mark "); - print_mark(((struct ipt_connmark_info *)match->data)->mark, - ((struct ipt_connmark_info *)match->data)->mask, - ((struct ipt_connmark_info *)match->data)->invert, 0); + print_mark(info->mark, info->mask, 0); } static |