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 <przemyslawx.szczerbik@intel.com>
Signed-off-by: Marco Varlese <marco.varlese@intel.com>
This commit is contained in:
Marco Varlese 2016-03-27 10:45:51 -07:00 committed by Stephen Hemminger
parent f63ed3e629
commit 334af76143

View File

@ -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;