diff options
Diffstat (limited to 'applets')
-rw-r--r-- | applets/busybox.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/applets/busybox.c b/applets/busybox.c index 48ca05408..486ef4d77 100644 --- a/applets/busybox.c +++ b/applets/busybox.c | |||
@@ -479,6 +479,13 @@ int main(int argc, char **argv) | |||
479 | 479 | ||
480 | *argv = name; | 480 | *argv = name; |
481 | 481 | ||
482 | #ifdef BB_SH | ||
483 | /* Add in a special case hack -- whenever **argv == '-' | ||
484 | * (i.e. '-su' or '-sh') always invoke the shell */ | ||
485 | if (**argv == '-') | ||
486 | exit(((*(shell_main)) (argc, argv))); | ||
487 | #endif | ||
488 | |||
482 | while (a->name != 0) { | 489 | while (a->name != 0) { |
483 | if (strcmp(name, a->name) == 0) { | 490 | if (strcmp(name, a->name) == 0) { |
484 | exit(((*(a->main)) (argc, argv))); | 491 | exit(((*(a->main)) (argc, argv))); |