]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
Fix save-invert printout (David Zambonini, me)
authorDave Zambonini <dave@alfar.co.uk>
Sat, 14 Jun 2003 14:27:51 +0000 (14:27 +0000)
committerMartin Josefsson <gandalf@wlug.westbo.se>
Sat, 14 Jun 2003 14:27:51 +0000 (14:27 +0000)
extensions/libip6t_mac.c
extensions/libipt_mac.c

index fe0d3a455f5666f83e78cc8d05b397743f17cb9e..617b353ff65ba57fb003952c5af3ce39774de2d2 100644 (file)
@@ -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
index b9d3b36765f4052bc25b02af83f6f816f9b9e9ba..d1079a5ea246889950ef4ad6635aa1a7c0817493 100644 (file)
@@ -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