diff options
author | Arturo Borrero <arturo.borrero.glez@gmail.com> | 2015-03-11 18:54:57 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2015-03-13 12:14:40 +0100 |
commit | d7c61fe15ef7f04c8ecb6724bb5dd0eae1c5e4ca (patch) | |
tree | 3396b3368d07730d75c94a694e039b687c4b4169 | |
parent | af72a05656c7524febb52ffe2c7eed6ccf1f84ee (diff) |
ebtables-compat: add a bridge-specific exit_error function
Previous to this patch, error reporting in ebtables-compat was like:
% ebtables-compat xxx
(null) v1.4.21: Bad argument : 'xxx'
Try `(null) -h' or '(null) --help' for more information.
While the original ebtables was:
% ebtables xxx
Bad argument : 'xxx'.
With this patch, we switch to:
% ebtables-compat xxx
Bad argument : 'xxx'.
Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r-- | iptables/xtables-eb.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/iptables/xtables-eb.c b/iptables/xtables-eb.c index 7da7fc03..ddef14a4 100644 --- a/iptables/xtables-eb.c +++ b/iptables/xtables-eb.c @@ -27,6 +27,7 @@ #include <string.h> #include <stdio.h> #include <stdlib.h> +#include <stdarg.h> #include <inttypes.h> #include <signal.h> #include <net/if.h> @@ -291,13 +292,23 @@ static struct option ebt_original_options[] = { 0 } }; -void xtables_exit_error(enum xtables_exittype status, const char *msg, ...) __attribute__((noreturn, format(printf,2,3))); +static void +ebt_print_error(enum xtables_exittype status, const char *format, ...) +{ + va_list l; + + va_start(l, format); + vfprintf(stderr, format, l); + fprintf(stderr, ".\n"); + va_end(l); + exit(-1); +} __attribute__((noreturn, format(printf,2,3))); struct xtables_globals ebtables_globals = { .option_offset = 0, .program_version = IPTABLES_VERSION, .orig_opts = ebt_original_options, - .exit_err = xtables_exit_error, + .exit_err = ebt_print_error, .compat_rev = nft_compatible_revision, }; |