summaryrefslogtreecommitdiffstats
path: root/extensions/libxt_devgroup.c
diff options
context:
space:
mode:
authorSerhey Popovych <serhe.popovych@gmail.com>2018-03-01 13:03:12 +0200
committerFlorian Westphal <fw@strlen.de>2018-04-27 18:56:22 +0200
commitd3f143727c308ff303ea9404945e71138a7792a1 (patch)
treed454846d68234640b3fdec17414ad6a69bd943cf /extensions/libxt_devgroup.c
parent29b1d97764d1849651388d870565b3fa815a0bd8 (diff)
xtables: Introduce and use common function to print val[/mask] arguments
There are number of places where argument is in val[/mask] format printed in extensions and some of them may print corresponding symbolic name. By introducing common function for this task we eliminate custom code parts in extensions to perform printing of arguments in required formats. Use xtables_print_mark_mask() helper for extensions without symbolic name for val[/mask]. Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com> Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'extensions/libxt_devgroup.c')
-rw-r--r--extensions/libxt_devgroup.c27
1 files changed, 6 insertions, 21 deletions
diff --git a/extensions/libxt_devgroup.c b/extensions/libxt_devgroup.c
index 99a4d502..a88211c5 100644
--- a/extensions/libxt_devgroup.c
+++ b/extensions/libxt_devgroup.c
@@ -61,38 +61,23 @@ static void devgroup_parse(struct xt_option_call *cb)
}
}
-static void
-print_devgroup(unsigned int id, unsigned int mask, int numeric)
-{
- const char *name = NULL;
-
- if (mask != 0xffffffff)
- printf("0x%x/0x%x", id, mask);
- else {
- if (numeric == 0)
- name = xtables_lmap_id2name(devgroups, id);
- if (name)
- printf("%s", name);
- else
- printf("0x%x", id);
- }
-}
-
static void devgroup_show(const char *pfx, const struct xt_devgroup_info *info,
int numeric)
{
if (info->flags & XT_DEVGROUP_MATCH_SRC) {
if (info->flags & XT_DEVGROUP_INVERT_SRC)
printf(" !");
- printf(" %ssrc-group ", pfx);
- print_devgroup(info->src_group, info->src_mask, numeric);
+ printf(" %ssrc-group", pfx);
+ xtables_print_val_mask(info->src_group, info->src_mask,
+ numeric ? NULL : devgroups);
}
if (info->flags & XT_DEVGROUP_MATCH_DST) {
if (info->flags & XT_DEVGROUP_INVERT_DST)
printf(" !");
- printf(" %sdst-group ", pfx);
- print_devgroup(info->dst_group, info->dst_mask, numeric);
+ printf(" %sdst-group", pfx);
+ xtables_print_val_mask(info->dst_group, info->dst_mask,
+ numeric ? NULL : devgroups);
}
}