blob: 4813aa3c6c06a7d86bd84560a89058ebab2935ad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
diff -urN busybox-1.9.0/networking/libiproute/iproute.c busybox-1.9.0-iproute/networking/libiproute/iproute.c
--- busybox-1.9.0/networking/libiproute/iproute.c 2007-12-21 22:00:23.000000000 +0000
+++ busybox-1.9.0-iproute/networking/libiproute/iproute.c 2008-01-04 15:18:33.000000000 +0000
@@ -841,15 +841,17 @@
/*0-3*/ "add\0""append\0""change\0""chg\0"
/*4-7*/ "delete\0""get\0""list\0""show\0"
/*8..*/ "prepend\0""replace\0""test\0""flush\0";
- int command_num = 6;
+ int command_num;
unsigned flags = 0;
int cmd = RTM_NEWROUTE;
+ if (!*argv)
+ return iproute_list_or_flush(argv, 0);
+
/* "Standard" 'ip r a' treats 'a' as 'add', not 'append' */
/* 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) {
case 0: /* add */
flags = NLM_F_CREATE|NLM_F_EXCL;
|