summaryrefslogtreecommitdiff
path: root/networking/ip.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/ip.c')
-rw-r--r--networking/ip.c43
1 files changed, 20 insertions, 23 deletions
diff --git a/networking/ip.c b/networking/ip.c
index fdd848049..d51689542 100644
--- a/networking/ip.c
+++ b/networking/ip.c
@@ -20,31 +20,28 @@
20int ip_main(int argc, char **argv); 20int ip_main(int argc, char **argv);
21int ip_main(int argc, char **argv) 21int ip_main(int argc, char **argv)
22{ 22{
23 int ret = EXIT_FAILURE;
24
25 ip_parse_common_args(&argc, &argv); 23 ip_parse_common_args(&argc, &argv);
26 24
27 if (argc > 1) { 25 if (argc <= 1)
28 if (ENABLE_FEATURE_IP_ADDRESS && matches(argv[1], "address") == 0) {
29 ret = do_ipaddr(argc-2, argv+2);
30 }
31 if (ENABLE_FEATURE_IP_ROUTE && matches(argv[1], "route") == 0) {
32 ret = do_iproute(argc-2, argv+2);
33 }
34 if (ENABLE_FEATURE_IP_LINK && matches(argv[1], "link") == 0) {
35 ret = do_iplink(argc-2, argv+2);
36 }
37 if (ENABLE_FEATURE_IP_TUNNEL
38 && (matches(argv[1], "tunnel") == 0 || strcmp(argv[1], "tunl") == 0)
39 ) {
40 ret = do_iptunnel(argc-2, argv+2);
41 }
42 if (ENABLE_FEATURE_IP_RULE && matches(argv[1], "rule") == 0) {
43 ret = do_iprule(argc-2, argv+2);
44 }
45 }
46 if (ret) {
47 bb_show_usage(); 26 bb_show_usage();
27
28 if (ENABLE_FEATURE_IP_ADDRESS && matches(argv[1], "address") == 0) {
29 return do_ipaddr(argc-2, argv+2);
30 }
31 if (ENABLE_FEATURE_IP_ROUTE && matches(argv[1], "route") == 0) {
32 return do_iproute(argc-2, argv+2);
48 } 33 }
49 return EXIT_SUCCESS; 34 if (ENABLE_FEATURE_IP_LINK && matches(argv[1], "link") == 0) {
35 return do_iplink(argc-2, argv+2);
36 }
37 if (ENABLE_FEATURE_IP_TUNNEL
38 && (matches(argv[1], "tunnel") == 0 || strcmp(argv[1], "tunl") == 0)
39 ) {
40 return do_iptunnel(argc-2, argv+2);
41 }
42 if (ENABLE_FEATURE_IP_RULE && matches(argv[1], "rule") == 0) {
43 return do_iprule(argc-2, argv+2);
44 }
45
46 bb_show_usage();
50} 47}