diff --git a/cmd/multicall.c b/cmd/multicall.c index d3513a3..4f94405 100644 --- a/cmd/multicall.c +++ b/cmd/multicall.c @@ -73,6 +73,8 @@ applet_cmp(const void *a, const void *b) void multicall_usage(int status) __attribute__((noreturn)); +struct if_applet ifupdown_applet; + int main(int argc, char *argv[]) { @@ -92,9 +94,11 @@ main(int argc, char *argv[]) } self_applet = *app; - process_options(*app, argc, argv); - return (*app)->main(argc, argv); + if (self_applet != &ifupdown_applet) + process_options(*app, argc, argv); + + return self_applet->main(argc, argv); } int @@ -106,8 +110,6 @@ multicall_main(int argc, char *argv[]) return main(argc - 1, argv + 1); } -struct if_applet ifupdown_applet; - void multicall_usage(int status) {