Backout ambigious error for ip
This commit is contained in:
parent
ede723964a
commit
e25d697069
|
|
@ -1,3 +1,7 @@
|
|||
2005-12-02 Stephen Hemminger <shemminger@osdl.org
|
||||
|
||||
* Backout ambigious ip command matches
|
||||
|
||||
2005-11-22 Stephen Hemminger <shemminger@osdl.org
|
||||
|
||||
* Handle ambigious ip command matches
|
||||
|
|
|
|||
16
ip/ip.c
16
ip/ip.c
|
|
@ -80,23 +80,13 @@ static const struct cmd {
|
|||
|
||||
static int do_cmd(const char *argv0, int argc, char **argv)
|
||||
{
|
||||
const struct cmd *c, *m = NULL;
|
||||
const struct cmd *c;
|
||||
|
||||
for (c = cmds; c->cmd; ++c) {
|
||||
if (matches(argv0, c->cmd) == 0) {
|
||||
if (m && m->func != c->func) {
|
||||
fprintf(stderr,
|
||||
"Ambiguious command \"%s\" matches both %s and %s\n",
|
||||
argv0, m->cmd, c->cmd);
|
||||
return -1;
|
||||
}
|
||||
m = c;
|
||||
}
|
||||
if (matches(argv0, c->cmd) == 0)
|
||||
return c->func(argc-1, argv+1);
|
||||
}
|
||||
|
||||
if (m)
|
||||
return m->func(argc-1, argv+1);
|
||||
|
||||
fprintf(stderr, "Object \"%s\" is unknown, try \"ip help\".\n", argv0);
|
||||
return -1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue