diff options
-rw-r--r-- | Makefile.am | 3 | ||||
-rw-r--r-- | include/libipset/ip_set_compiler.h | 15 | ||||
-rw-r--r-- | lib/ipset.c | 2 |
3 files changed, 20 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am index eab32ee..cc821e6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -93,6 +93,9 @@ update_includes: kernel/include/uapi/linux/netfilter/ipset/$$x \ > include/libipset/linux_$$x; \ done + for x in ip_set_compiler.h; do \ + cp kernel/include/linux/netfilter/ipset/$$x include/libipset/$x; \ + done update_utils: wget -4 -O /tmp/ipset-bash-completion.tar.gz http://sourceforge.net/projects/ipset-bashcompl/files/latest/download diff --git a/include/libipset/ip_set_compiler.h b/include/libipset/ip_set_compiler.h new file mode 100644 index 0000000..1b392f8 --- /dev/null +++ b/include/libipset/ip_set_compiler.h @@ -0,0 +1,15 @@ +#ifndef __IP_SET_COMPILER_H +#define __IP_SET_COMPILER_H + +/* Compiler attributes */ +#ifndef __has_attribute +# define __has_attribute(x) __GCC4_has_attribute_##x +# define __GCC4_has_attribute___fallthrough__ 0 +#endif + +#if __has_attribute(__fallthrough__) +# define fallthrough __attribute__((__fallthrough__)) +#else +# define fallthrough do {} while (0) /* fallthrough */ +#endif +#endif /* __IP_SET_COMPILER_H */ diff --git a/lib/ipset.c b/lib/ipset.c index 8ae2b6f..6729919 100644 --- a/lib/ipset.c +++ b/lib/ipset.c @@ -27,6 +27,7 @@ #include <libipset/print.h> /* ipset_print_family */ #include <libipset/utils.h> /* STREQ */ #include <libipset/ipset.h> /* prototypes */ +#include <libipset/ip_set_compiler.h> /* compiler attributes */ static char program_name[] = PACKAGE; static char program_version[] = PACKAGE_VERSION; @@ -1213,6 +1214,7 @@ ipset_parse_argv(struct ipset *ipset, int oargc, char *oargv[]) return ret; } /* Fall through to parse optional setname */ + fallthrough; case IPSET_CMD_DESTROY: case IPSET_CMD_FLUSH: /* Args: [setname] */ |