Applied, thanks.
On Tue, Jun 23, 2015 at 6:19 PM, Michael Tokarev <m...@tls.msk.ru> wrote: > 23.06.2015 18:44, Bernhard Reutner-Fischer wrote: >> On June 23, 2015 3:27:54 PM GMT+02:00, Michael Tokarev <m...@tls.msk.ru> >> wrote: >>> Ping? >>> >>> 20.05.2015 16:27, Michael Tokarev wrote: >>>> Signed-off-by: Michael Tokarev <m...@tls.msk.ru> >>>> --- >>>> networking/ip.c | 2 +- >>>> networking/libiproute/ipaddress.c | 20 ++++++++++++-------- >>>> 2 files changed, 13 insertions(+), 9 deletions(-) >>>> >>>> diff --git a/networking/ip.c b/networking/ip.c >>>> index 98fe621..d35345c 100644 >>>> --- a/networking/ip.c >>>> +++ b/networking/ip.c >>>> @@ -33,7 +33,7 @@ >>>> //usage: "{ {add|del} IFADDR dev STRING | {show|flush}\n" >>>> //usage: " [dev STRING] [to PREFIX] }" >>>> //usage:#define ipaddr_full_usage "\n\n" >>>> -//usage: "ipaddr {add|delete} IFADDR dev STRING\n" >>>> +//usage: "ipaddr {add|change|replace|delete} IFADDR dev STRING\n" >>>> //usage: "ipaddr {show|flush} [dev STRING] [scope SCOPE-ID]\n" >>>> //usage: " [to PREFIX] [label PATTERN]\n" >>>> //usage: " IFADDR := PREFIX | ADDR peer PREFIX\n" >>>> diff --git a/networking/libiproute/ipaddress.c >>> b/networking/libiproute/ipaddress.c >>>> index 4072d06..85f3356 100644 >>>> --- a/networking/libiproute/ipaddress.c >>>> +++ b/networking/libiproute/ipaddress.c >>>> @@ -598,7 +598,7 @@ static int default_scope(inet_prefix *lcl) >>>> } >>>> >>>> /* Return value becomes exitcode. It's okay to not return at all */ >>>> -static int ipaddr_modify(int cmd, char **argv) >>>> +static int ipaddr_modify(int cmd, int flags, char **argv) >>>> { >>>> static const char option[] ALIGN1 = >>>> "peer\0""remote\0""broadcast\0""brd\0" >>>> @@ -622,7 +622,7 @@ static int ipaddr_modify(int cmd, char **argv) >>>> memset(&req, 0, sizeof(req)); >>>> >>>> req.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifaddrmsg)); >>>> - req.n.nlmsg_flags = NLM_F_REQUEST; >>>> + req.n.nlmsg_flags = NLM_F_REQUEST | flags; >>>> req.n.nlmsg_type = cmd; >>>> req.ifa.ifa_family = preferred_family; >>>> >>>> @@ -749,16 +749,20 @@ static int ipaddr_modify(int cmd, char **argv) >>>> int FAST_FUNC do_ipaddr(char **argv) >>>> { >>>> static const char commands[] ALIGN1 = >>>> - "add\0""delete\0""list\0""show\0""lst\0""flush\0"; >>>> + /* 0 1 2 3 4 5 6 7 >>> 8 */ >>>> >>> + >>> "add\0""change\0""chg\0""replace\0""delete\0""list\0""show\0""lst\0""flush\0"; >>>> int cmd = 2; >>>> if (*argv) { >>>> cmd = index_in_substrings(commands, *argv); >>>> if (cmd < 0) >>>> invarg(*argv, applet_name); >>>> argv++; >>>> - if (cmd <= 1) >>>> - return ipaddr_modify((cmd == 0) ? RTM_NEWADDR : >>>> RTM_DELADDR, argv); >>>> - } >>>> - /* 2 == list, 3 == show, 4 == lst */ >>>> - return ipaddr_list_or_flush(argv, cmd == 5); >>>> + if (cmd <= 4) >>>> + return ipaddr_modify(cmd == 4 ? RTM_DELADDR : >>>> RTM_NEWADDR, >> >> wrong comma? > > Nope, not wrong comma. The first argument is the command, and the second: > >>>> + cmd == 0 ? >>>> NLM_F_CREATE|NLM_F_EXCL : >>>> + cmd == 1 || cmd == 2 ? >>>> NLM_F_REPLACE : >>>> + cmd == 3 ? >>>> NLM_F_CREATE|NLM_F_REPLACE : >>>> + 0, argv); > > is the flags for the command. > >>>> + } >>>> + return ipaddr_list_or_flush(argv, cmd == 8); >> >> bloat-o-meter output, please. > > $ make bloatcheck > function old new delta > .rodata 6707 6771 +64 > do_ipaddr 90 139 +49 > static.commands 32 51 +19 > ipaddr_modify 1084 1085 +1 > ------------------------------------------------------------------------------ > (add/remove: 0/0 grow/shrink: 4/0 up/down: 133/0) Total: 133 bytes > text data bss dec hex filename > 47143 1305 8360 56808 dde8 busybox_old > 47255 1305 8360 56920 de58 busybox_unstripped > > Thanks, > > /mjt > > _______________________________________________ > busybox mailing list > busybox@busybox.net > http://lists.busybox.net/mailman/listinfo/busybox _______________________________________________ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox