From: Jo-Philipp Wich Date: Sun, 10 Mar 2013 19:29:48 +0000 (+0100) Subject: Introduce fw3_no_family() helper macro and use it X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=c7fc65809ae5300f256a1228f7011a1dc1bc85ac;p=oweals%2Ffirewall3.git Introduce fw3_no_family() helper macro and use it --- diff --git a/ipsets.c b/ipsets.c index d6ff9bd..a987790 100644 --- a/ipsets.c +++ b/ipsets.c @@ -376,14 +376,13 @@ void fw3_destroy_ipsets(struct fw3_state *state, enum fw3_family family) { struct fw3_ipset *s, *tmp; - uint32_t family_mask = (1 << FW3_FAMILY_V4) | (1 << FW3_FAMILY_V6); list_for_each_entry_safe(s, tmp, &state->running_ipsets, running_list) { if (hasbit(s->running_flags, family)) delbit(s->flags, family); - if (!(s->flags & family_mask)) + if (fw3_no_family(s)) { info("Deleting ipset %s", s->name); diff --git a/utils.c b/utils.c index ce9049e..2747a85 100644 --- a/utils.c +++ b/utils.c @@ -441,9 +441,7 @@ fw3_write_statefile(void *state) struct fw3_zone *z; struct fw3_ipset *i; - int mask = (1 << FW3_FAMILY_V4) | (1 << FW3_FAMILY_V6); - - if (!(d->flags & mask)) + if (fw3_no_family(d)) { if (unlink(FW3_STATEFILE)) warn("Unable to remove state %s: %s", diff --git a/utils.h b/utils.h index 43f30f4..79bf394 100644 --- a/utils.h +++ b/utils.h @@ -55,6 +55,9 @@ void info(const char *format, ...); #define fw3_is_family(p, f) \ (!p || (p)->family == FW3_FAMILY_ANY || (p)->family == f) +#define fw3_no_family(p) \ + (!p || !((p)->flags & ((1 << FW3_FAMILY_V4) | (1 << FW3_FAMILY_V6)))) + const char * fw3_find_command(const char *cmd); bool fw3_stdout_pipe(void); diff --git a/zones.c b/zones.c index c47391c..ab656ef 100644 --- a/zones.c +++ b/zones.c @@ -540,7 +540,6 @@ fw3_flush_zones(enum fw3_table table, enum fw3_family family, { struct fw3_zone *z, *tmp; uint32_t custom_mask = ~0; - uint32_t family_mask = (1 << FW3_FAMILY_V4) | (1 << FW3_FAMILY_V6); /* don't touch user chains on selective stop */ if (reload) @@ -566,7 +565,7 @@ fw3_flush_zones(enum fw3_table table, enum fw3_family family, { delbit(z->flags, family); - if (!(z->flags & family_mask)) + if (fw3_no_family(z)) fw3_set_running(z, NULL); } }