summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen2001-06-21 04:56:24 +0000
committerEric Andersen2001-06-21 04:56:24 +0000
commitfa2661f2e5a95f0efd1f019c8ad8742af7bcb55b (patch)
treec8c65e09e7b4ddd10f031442ff63727f0ed46b04
parentaff5e2eaef3a625bfa7760e59a6cf29de5cb0282 (diff)
downloadbusybox-fa2661f2e5a95f0efd1f019c8ad8742af7bcb55b.zip
busybox-fa2661f2e5a95f0efd1f019c8ad8742af7bcb55b.tar.gz
Per a suggestion from Tom Oehser, fix up the leading-hyphen hack to
make it general. Now all leading single hyphens are ignored for purposed of applet name matching, while argv[0] is still passed unaltered to applets, so leading-hyphen sensitive applets (such as sh) can react accordingly. -Erik
-rw-r--r--applets/busybox.c7
-rw-r--r--busybox.c7
2 files changed, 4 insertions, 10 deletions
diff --git a/applets/busybox.c b/applets/busybox.c
index f3d0c4c..7a220f7 100644
--- a/applets/busybox.c
+++ b/applets/busybox.c
@@ -74,13 +74,10 @@ int main(int argc, char **argv)
applet_name = s;
}
-#ifdef BB_SH
- /* Add in a special case hack -- whenever **argv == '-'
- * (i.e., '-su' or '-sh') always invoke the shell */
+ /* Add in a special case hack for a leading hyphen */
if (**argv == '-' && *(*argv+1)!= '-') {
- applet_name = "sh";
+ applet_name = (*argv+1);
}
-#endif
#ifdef BB_LOCALE_SUPPORT
#ifdef BB_INIT
diff --git a/busybox.c b/busybox.c
index f3d0c4c..7a220f7 100644
--- a/busybox.c
+++ b/busybox.c
@@ -74,13 +74,10 @@ int main(int argc, char **argv)
applet_name = s;
}
-#ifdef BB_SH
- /* Add in a special case hack -- whenever **argv == '-'
- * (i.e., '-su' or '-sh') always invoke the shell */
+ /* Add in a special case hack for a leading hyphen */
if (**argv == '-' && *(*argv+1)!= '-') {
- applet_name = "sh";
+ applet_name = (*argv+1);
}
-#endif
#ifdef BB_LOCALE_SUPPORT
#ifdef BB_INIT