Enable ip commands to be compiled seperate from ip, modifed patch from Bastian Blank
This commit is contained in:
@@ -28,30 +28,30 @@
|
||||
|
||||
#include "busybox.h"
|
||||
|
||||
#if 0
|
||||
int preferred_family = AF_UNSPEC;
|
||||
int oneline = 0;
|
||||
char * _SL_ = NULL;
|
||||
|
||||
int ip_main(int argc, char **argv)
|
||||
void ip_parse_common_args(int *argcp, char ***argvp)
|
||||
{
|
||||
char *basename;
|
||||
int argc = *argcp;
|
||||
char **argv = *argvp;
|
||||
|
||||
basename = strrchr(argv[0], '/');
|
||||
if (basename == NULL)
|
||||
basename = argv[0];
|
||||
else
|
||||
basename++;
|
||||
|
||||
while (argc > 1) {
|
||||
char *opt = argv[1];
|
||||
|
||||
if (strcmp(opt,"--") == 0) {
|
||||
argc--; argv++;
|
||||
break;
|
||||
}
|
||||
|
||||
if (opt[0] != '-')
|
||||
break;
|
||||
|
||||
if (opt[1] == '-')
|
||||
opt++;
|
||||
|
||||
if (matches(opt, "-family") == 0) {
|
||||
argc--;
|
||||
argv++;
|
||||
@@ -72,33 +72,44 @@ int ip_main(int argc, char **argv)
|
||||
} else if (matches(opt, "-oneline") == 0) {
|
||||
++oneline;
|
||||
} else {
|
||||
fprintf(stderr, "Option \"%s\" is unknown, try \"ip -help\".\n", opt);
|
||||
exit(-1);
|
||||
show_usage();
|
||||
}
|
||||
argc--; argv++;
|
||||
}
|
||||
|
||||
_SL_ = oneline ? "\\" : "\n" ;
|
||||
}
|
||||
#endif
|
||||
|
||||
int ip_main(int argc, char **argv)
|
||||
{
|
||||
int ret = EXIT_FAILURE;
|
||||
|
||||
ip_parse_common_args(&argc, &argv);
|
||||
|
||||
if (argc > 1) {
|
||||
#ifdef CONFIG_FEATURE_IP_ADDRESS
|
||||
if (matches(argv[1], "address") == 0)
|
||||
return do_ipaddr(argc-2, argv+2);
|
||||
if (matches(argv[1], "address") == 0) {
|
||||
ret = do_ipaddr(argc-2, argv+2);
|
||||
}
|
||||
#endif
|
||||
#ifdef CONFIG_FEATURE_IP_ROUTE
|
||||
if (matches(argv[1], "route") == 0)
|
||||
return do_iproute(argc-2, argv+2);
|
||||
else if (matches(argv[1], "route") == 0) {
|
||||
ret = do_iproute(argc-2, argv+2);
|
||||
}
|
||||
#endif
|
||||
#ifdef CONFIG_FEATURE_IP_LINK
|
||||
if (matches(argv[1], "link") == 0)
|
||||
return do_iplink(argc-2, argv+2);
|
||||
else if (matches(argv[1], "link") == 0) {
|
||||
ret = do_iplink(argc-2, argv+2);
|
||||
}
|
||||
#endif
|
||||
#ifdef CONFIG_FEATURE_IP_TUNNEL
|
||||
if (matches(argv[1], "tunnel") == 0 ||
|
||||
strcmp(argv[1], "tunl") == 0)
|
||||
return do_iptunnel(argc-2, argv+2);
|
||||
else if (matches(argv[1], "tunnel") == 0 || strcmp(argv[1], "tunl") == 0) {
|
||||
ret = do_iptunnel(argc-2, argv+2);
|
||||
}
|
||||
#endif
|
||||
fprintf(stderr, "Object \"%s\" is unknown, try \"ip help\".\n", argv[1]);
|
||||
exit(-1);
|
||||
}
|
||||
if (ret) {
|
||||
show_usage();
|
||||
}
|
||||
return(EXIT_SUCCESS);
|
||||
}
|
||||
|
Reference in New Issue
Block a user