When e.g. ebtables-nft detects an incompatible table, a stray '.' was
printed as last line of output:
| # ebtables-nft -L
| table `filter' is incompatible, use 'nft' tool.
| .
This comes from ebtables' own exit_err callback. Instead use the common
one which also provides useful version information.
While being at it, align the final error message in xtables_eb_main()
with how the others print it.
Signed-off-by: Phil Sutter
---
iptables/xtables-eb-standalone.c | 2 +-
iptables/xtables-eb.c| 15 ++-
2 files changed, 3 insertions(+), 14 deletions(-)
diff --git a/iptables/xtables-eb-standalone.c b/iptables/xtables-eb-standalone.c
index 84ce0b60a7076..fb3daba0bd604 100644
--- a/iptables/xtables-eb-standalone.c
+++ b/iptables/xtables-eb-standalone.c
@@ -54,7 +54,7 @@ int xtables_eb_main(int argc, char *argv[])
ret = nft_commit();
if (!ret)
- fprintf(stderr, "%s\n", nft_strerror(errno));
+ fprintf(stderr, "ebtables: %s\n", nft_strerror(errno));
exit(!ret);
}
diff --git a/iptables/xtables-eb.c b/iptables/xtables-eb.c
index f1aba555186eb..efc1f16ac6364 100644
--- a/iptables/xtables-eb.c
+++ b/iptables/xtables-eb.c
@@ -291,23 +291,12 @@ struct option ebt_original_options[] =
{ 0 }
};
-static void __attribute__((__noreturn__,format(printf,2,3)))
-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);
-}
-
+extern void xtables_exit_error(enum xtables_exittype status, const char *msg,
...) __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 = ebt_print_error,
+ .exit_err = xtables_exit_error,
.compat_rev = nft_compatible_revision,
};
--
2.19.0