From: Marco Varlese Date: Sun, 27 Mar 2016 17:45:51 +0000 (-0700) Subject: fix get_addr() and get_prefix() error messages X-Git-Tag: v4.6.0~52 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=334af76143368;p=thirdparty%2Fiproute2.git 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 --- 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;