]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
fix save function of libipt_tos
authorHarald Welte <laforge@gnumonks.org>
Thu, 5 Dec 2002 19:39:10 +0000 (19:39 +0000)
committerHarald Welte <laforge@gnumonks.org>
Thu, 5 Dec 2002 19:39:10 +0000 (19:39 +0000)
extensions/libipt_tos.c

index b0cd2e01e14260673c6f92f3404166995f491a41..6786911d7688c78bc0b46846aa779750f97fa90a 100644 (file)
@@ -105,13 +105,10 @@ parse(int c, char **argv, int invert, unsigned int *flags,
 }
 
 static void
-print_tos(u_int8_t tos, int invert, int numeric)
+print_tos(u_int8_t tos, int numeric)
 {
        unsigned int i;
 
-       if (invert)
-               fputc('!', stdout);
-
        if (!numeric) {
                for (i = 0; i<sizeof(TOS_values)/sizeof(struct TOS_value); i++)
                        if (TOS_values[i].TOS == tos) {
@@ -137,18 +134,24 @@ print(const struct ipt_ip *ip,
       const struct ipt_entry_match *match,
       int numeric)
 {
+       const struct ipt_tos_info *info = (const struct ipt_tos_info *)match->data;
+    
        printf("TOS match ");
-       print_tos(((struct ipt_tos_info *)match->data)->tos,
-                 ((struct ipt_tos_info *)match->data)->invert, numeric);
+       if (info->invert)
+               printf("!");
+       print_tos(info->tos, numeric);
 }
 
 /* Saves the union ipt_matchinfo in parsable form to stdout. */
 static void
 save(const struct ipt_ip *ip, const struct ipt_entry_match *match)
 {
+       const struct ipt_tos_info *info = (const struct ipt_tos_info *)match->data;
+    
+       if (info->invert)
+               printf("! ");
        printf("--tos ");
-       print_tos(((struct ipt_tos_info *)match->data)->tos,
-                 ((struct ipt_tos_info *)match->data)->invert, 0);
+       print_tos(info->tos, 0);
 }
 
 static