From 78c57fac86e7ac32332684e80429a8dab9a8f556 Mon Sep 17 00:00:00 2001 From: Dave Zambonini Date: Sat, 14 Jun 2003 14:27:51 +0000 Subject: Fix save-invert printout (David Zambonini, me) --- extensions/libip6t_mac.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'extensions/libip6t_mac.c') diff --git a/extensions/libip6t_mac.c b/extensions/libip6t_mac.c index fe0d3a45..617b353f 100644 --- a/extensions/libip6t_mac.c +++ b/extensions/libip6t_mac.c @@ -86,11 +86,11 @@ parse(int c, char **argv, int invert, unsigned int *flags, return 1; } -static void print_mac(unsigned char macaddress[ETH_ALEN], int invert) +static void print_mac(unsigned char macaddress[ETH_ALEN]) { unsigned int i; - printf("%s%02X", invert ? "! " : "", macaddress[0]); + printf("%02X", macaddress[0]); for (i = 1; i < ETH_ALEN; i++) printf(":%02X", macaddress[i]); printf(" "); @@ -111,16 +111,21 @@ print(const struct ip6t_ip6 *ip, int numeric) { printf("MAC "); - print_mac(((struct ip6t_mac_info *)match->data)->srcaddr, - ((struct ip6t_mac_info *)match->data)->invert); + + if (((struct ip6t_mac_info *)match->data)->invert) + printf("! "); + + print_mac(((struct ip6t_mac_info *)match->data)->srcaddr); } /* Saves the union ip6t_matchinfo in parsable form to stdout. */ static void save(const struct ip6t_ip6 *ip, const struct ip6t_entry_match *match) { + if (((struct ip6t_mac_info *)match->data)->invert) + printf("! "); + printf("--mac-source "); - print_mac(((struct ip6t_mac_info *)match->data)->srcaddr, - ((struct ip6t_mac_info *)match->data)->invert); + print_mac(((struct ip6t_mac_info *)match->data)->srcaddr); } static -- cgit v1.2.3