From 9647359b12021df45159f38d6c16687b58623434 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 5 Dec 2002 19:39:10 +0000 Subject: fix save function of libipt_tos --- extensions/libipt_tos.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/extensions/libipt_tos.c b/extensions/libipt_tos.c index b0cd2e01..6786911d 100644 --- a/extensions/libipt_tos.c +++ b/extensions/libipt_tos.c @@ -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; idata; + 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 -- cgit v1.2.3