ip route: "ip route" was misbehaving (extra argv+1 ate 1st env var)
This commit is contained in:
parent
21e20cb4ad
commit
83c44229d2
@ -841,15 +841,17 @@ int do_iproute(char **argv)
|
|||||||
/*0-3*/ "add\0""append\0""change\0""chg\0"
|
/*0-3*/ "add\0""append\0""change\0""chg\0"
|
||||||
/*4-7*/ "delete\0""get\0""list\0""show\0"
|
/*4-7*/ "delete\0""get\0""list\0""show\0"
|
||||||
/*8..*/ "prepend\0""replace\0""test\0""flush\0";
|
/*8..*/ "prepend\0""replace\0""test\0""flush\0";
|
||||||
int command_num = 6;
|
int command_num;
|
||||||
unsigned flags = 0;
|
unsigned flags = 0;
|
||||||
int cmd = RTM_NEWROUTE;
|
int cmd = RTM_NEWROUTE;
|
||||||
|
|
||||||
|
if (!*argv)
|
||||||
|
return iproute_list_or_flush(argv, 0);
|
||||||
|
|
||||||
/* "Standard" 'ip r a' treats 'a' as 'add', not 'append' */
|
/* "Standard" 'ip r a' treats 'a' as 'add', not 'append' */
|
||||||
/* It probably means that it is using "first match" rule */
|
/* It probably means that it is using "first match" rule */
|
||||||
if (*argv) {
|
command_num = index_in_substrings(ip_route_commands, *argv);
|
||||||
command_num = index_in_substrings(ip_route_commands, *argv);
|
|
||||||
}
|
|
||||||
switch (command_num) {
|
switch (command_num) {
|
||||||
case 0: /* add */
|
case 0: /* add */
|
||||||
flags = NLM_F_CREATE|NLM_F_EXCL;
|
flags = NLM_F_CREATE|NLM_F_EXCL;
|
||||||
|
Loading…
Reference in New Issue
Block a user