]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
ebtables-compat: add a bridge-specific exit_error function
authorArturo Borrero <arturo.borrero.glez@gmail.com>
Wed, 11 Mar 2015 17:54:57 +0000 (18:54 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Fri, 13 Mar 2015 11:14:40 +0000 (12:14 +0100)
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>
iptables/xtables-eb.c

index 7da7fc033eaf39551813a78d67468cf219829943..ddef14a4d24c6c7d6980839932328cb1374ee25d 100644 (file)
@@ -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,
 };