summaryrefslogtreecommitdiff
path: root/package/busybox/busybox-1.9.0-iproute.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/busybox/busybox-1.9.0-iproute.patch')
-rw-r--r--package/busybox/busybox-1.9.0-iproute.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/package/busybox/busybox-1.9.0-iproute.patch b/package/busybox/busybox-1.9.0-iproute.patch
new file mode 100644
index 000000000..4813aa3c6
--- /dev/null
+++ b/package/busybox/busybox-1.9.0-iproute.patch
@@ -0,0 +1,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;