Fix save-invert printout (David Zambonini, me)
diff --git a/extensions/libipt_mac.c b/extensions/libipt_mac.c
index b9d3b36..d1079a5 100644
--- a/extensions/libipt_mac.c
+++ b/extensions/libipt_mac.c
@@ -86,11 +86,11 @@
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 @@
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