diff options
-rw-r--r-- | networking/libiproute/iproute.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/networking/libiproute/iproute.c b/networking/libiproute/iproute.c index ce2cd8b39..5ded99b2e 100644 --- a/networking/libiproute/iproute.c +++ b/networking/libiproute/iproute.c | |||
@@ -841,15 +841,17 @@ int do_iproute(char **argv) | |||
841 | /*0-3*/ "add\0""append\0""change\0""chg\0" | 841 | /*0-3*/ "add\0""append\0""change\0""chg\0" |
842 | /*4-7*/ "delete\0""get\0""list\0""show\0" | 842 | /*4-7*/ "delete\0""get\0""list\0""show\0" |
843 | /*8..*/ "prepend\0""replace\0""test\0""flush\0"; | 843 | /*8..*/ "prepend\0""replace\0""test\0""flush\0"; |
844 | int command_num = 6; | 844 | int command_num; |
845 | unsigned flags = 0; | 845 | unsigned flags = 0; |
846 | int cmd = RTM_NEWROUTE; | 846 | int cmd = RTM_NEWROUTE; |
847 | 847 | ||
848 | if (!*argv) | ||
849 | return iproute_list_or_flush(argv, 0); | ||
850 | |||
848 | /* "Standard" 'ip r a' treats 'a' as 'add', not 'append' */ | 851 | /* "Standard" 'ip r a' treats 'a' as 'add', not 'append' */ |
849 | /* It probably means that it is using "first match" rule */ | 852 | /* It probably means that it is using "first match" rule */ |
850 | if (*argv) { | 853 | command_num = index_in_substrings(ip_route_commands, *argv); |
851 | command_num = index_in_substrings(ip_route_commands, *argv); | 854 | |
852 | } | ||
853 | switch (command_num) { | 855 | switch (command_num) { |
854 | case 0: /* add */ | 856 | case 0: /* add */ |
855 | flags = NLM_F_CREATE|NLM_F_EXCL; | 857 | flags = NLM_F_CREATE|NLM_F_EXCL; |