From: Mark Whitley Date: Fri, 15 Jun 2001 16:54:25 +0000 (-0000) Subject: Applied patch from Jim Gleason that makes it so busybox will still work even X-Git-Tag: 0_52~99 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=bd4b621e910ea096fa8b7db19012eded43eb0006;p=oweals%2Fbusybox.git Applied patch from Jim Gleason that makes it so busybox will still work even if you rename it. --- diff --git a/applets.c b/applets.c index c1575c70d..90667e52e 100644 --- a/applets.c +++ b/applets.c @@ -84,13 +84,22 @@ struct BB_applet *find_applet_by_name(const char *name) void run_applet_by_name(const char *name, int argc, char **argv) { + static int recurse_level = 0; + + recurse_level++; /* Do a binary search to find the applet entry given the name. */ if ((applet_using = find_applet_by_name(name)) != NULL) { applet_name = applet_using->name; - if (argv[1] && strcmp(argv[1], "--help") == 0) + if (argv[1] && strcmp(argv[1], "--help") == 0) { show_usage(); + } exit((*(applet_using->main)) (argc, argv)); } + /* Just in case they have renamed busybox - Check argv[1] */ + if (recurse_level == 1) { + run_applet_by_name("busybox", argc, argv); + } + recurse_level = 0; } diff --git a/applets/applets.c b/applets/applets.c index c1575c70d..90667e52e 100644 --- a/applets/applets.c +++ b/applets/applets.c @@ -84,13 +84,22 @@ struct BB_applet *find_applet_by_name(const char *name) void run_applet_by_name(const char *name, int argc, char **argv) { + static int recurse_level = 0; + + recurse_level++; /* Do a binary search to find the applet entry given the name. */ if ((applet_using = find_applet_by_name(name)) != NULL) { applet_name = applet_using->name; - if (argv[1] && strcmp(argv[1], "--help") == 0) + if (argv[1] && strcmp(argv[1], "--help") == 0) { show_usage(); + } exit((*(applet_using->main)) (argc, argv)); } + /* Just in case they have renamed busybox - Check argv[1] */ + if (recurse_level == 1) { + run_applet_by_name("busybox", argc, argv); + } + recurse_level = 0; }