aboutsummaryrefslogtreecommitdiff
path: root/networking/libiproute/ipaddress.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/libiproute/ipaddress.c')
-rw-r--r--networking/libiproute/ipaddress.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/networking/libiproute/ipaddress.c b/networking/libiproute/ipaddress.c
index fdbe6117c..fc6cf7beb 100644
--- a/networking/libiproute/ipaddress.c
+++ b/networking/libiproute/ipaddress.c
@@ -441,7 +441,7 @@ int ipaddr_list_or_flush(int argc, char **argv, int flush)
441 } 441 }
442 442
443 while (argc > 0) { 443 while (argc > 0) {
444 const int option_num = compare_string_array(option, *argv); 444 const int option_num = index_in_str_array(option, *argv);
445 switch (option_num) { 445 switch (option_num) {
446 case 0: /* to */ 446 case 0: /* to */
447 NEXT_ARG(); 447 NEXT_ARG();
@@ -653,7 +653,7 @@ static int ipaddr_modify(int cmd, int argc, char **argv)
653 req.ifa.ifa_family = preferred_family; 653 req.ifa.ifa_family = preferred_family;
654 654
655 while (argc > 0) { 655 while (argc > 0) {
656 const int option_num = compare_string_array(option, *argv); 656 const int option_num = index_in_str_array(option, *argv);
657 switch (option_num) { 657 switch (option_num) {
658 case 0: /* peer */ 658 case 0: /* peer */
659 case 1: /* remote */ 659 case 1: /* remote */
@@ -800,25 +800,24 @@ static int ipaddr_modify(int cmd, int argc, char **argv)
800int do_ipaddr(int argc, char **argv) 800int do_ipaddr(int argc, char **argv)
801{ 801{
802 static const char *const commands[] = { 802 static const char *const commands[] = {
803 "add", "del", "delete", "list", "show", "lst", "flush", 0 803 "add", "delete", "list", "show", "lst", "flush", 0
804 }; 804 };
805 805
806 int command_num = 2; 806 int command_num = 2;
807 807
808 if (*argv) { 808 if (*argv) {
809 command_num = compare_string_array(commands, *argv); 809 command_num = index_in_substr_array(commands, *argv);
810 } 810 }
811 switch (command_num) { 811 switch (command_num) {
812 case 0: /* add */ 812 case 0: /* add */
813 return ipaddr_modify(RTM_NEWADDR, argc-1, argv+1); 813 return ipaddr_modify(RTM_NEWADDR, argc-1, argv+1);
814 case 1: /* del */ 814 case 1: /* delete */
815 case 2: /* delete */
816 return ipaddr_modify(RTM_DELADDR, argc-1, argv+1); 815 return ipaddr_modify(RTM_DELADDR, argc-1, argv+1);
817 case 3: /* list */ 816 case 2: /* list */
818 case 4: /* show */ 817 case 3: /* show */
819 case 5: /* lst */ 818 case 4: /* lst */
820 return ipaddr_list_or_flush(argc-1, argv+1, 0); 819 return ipaddr_list_or_flush(argc-1, argv+1, 0);
821 case 6: /* flush */ 820 case 5: /* flush */
822 return ipaddr_list_or_flush(argc-1, argv+1, 1); 821 return ipaddr_list_or_flush(argc-1, argv+1, 1);
823 } 822 }
824 bb_error_msg_and_die("unknown command %s", *argv); 823 bb_error_msg_and_die("unknown command %s", *argv);