From 334af761433685d90790545eb705bfe03ae9d43d Mon Sep 17 00:00:00 2001 From: Marco Varlese Date: Sun, 27 Mar 2016 10:45:51 -0700 Subject: [PATCH] fix get_addr() and get_prefix() error messages An attempt to add invalid address to interface would print "???" string instead of the address family name. For example: $ ip address add 256.10.166.1/24 dev ens8 Error: ??? prefix is expected rather than "256.10.166.1/24". $ ip neighbor add proxy 2001:db8::g dev ens8 Error: ??? address is expected rather than "2001:db8::g". With this patch the output will look like: $ ip address add 256.10.166.1/24 dev ens8 Error: inet prefix is expected rather than "256.10.166.1/24". $ ip neighbor add proxy 2001:db8::g dev ens8 Error: inet6 address is expected rather than "2001:db8::g". Signed-off-by: Przemyslaw Szczerbik Signed-off-by: Marco Varlese --- lib/utils.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/utils.c b/lib/utils.c index 9b303a6b0..bd5842730 100644 --- a/lib/utils.c +++ b/lib/utils.c @@ -567,7 +567,7 @@ int get_addr(inet_prefix *dst, const char *arg, int family) { if (get_addr_1(dst, arg, family)) { fprintf(stderr, "Error: %s address is expected rather than \"%s\".\n", - family_name(family) ,arg); + family_name(dst->family) ,arg); exit(1); } return 0; @@ -579,9 +579,10 @@ int get_prefix(inet_prefix *dst, char *arg, int family) fprintf(stderr, "Error: \"%s\" may be inet prefix, but it is not allowed in this context.\n", arg); exit(1); } + if (get_prefix_1(dst, arg, family)) { fprintf(stderr, "Error: %s prefix is expected rather than \"%s\".\n", - family_name(family) ,arg); + family_name(dst->family) ,arg); exit(1); } return 0; -- 2.47.2