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/libipt_mac.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'extensions/libipt_mac.c') diff --git a/extensions/libipt_mac.c b/extensions/libipt_mac.c index b9d3b367..d1079a5e 100644 --- a/extensions/libipt_mac.c +++ b/extensions/libipt_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 ipt_ip *ip, int numeric) { printf("MAC "); - print_mac(((struct ipt_mac_info *)match->data)->srcaddr, - ((struct ipt_mac_info *)match->data)->invert); + + if (((struct ipt_mac_info *)match->data)->invert) + printf("! "); + + print_mac(((struct ipt_mac_info *)match->data)->srcaddr); } /* Saves the union ipt_matchinfo in parsable form to stdout. */ static void save(const struct ipt_ip *ip, const struct ipt_entry_match *match) { + if (((struct ipt_mac_info *)match->data)->invert) + printf("! "); + printf("--mac-source "); - print_mac(((struct ipt_mac_info *)match->data)->srcaddr, - ((struct ipt_mac_info *)match->data)->invert); + print_mac(((struct ipt_mac_info *)match->data)->srcaddr); } static -- cgit v1.2.3