Per a suggestion from Tom Oehser, fix up the leading-hyphen hack to
authorEric Andersen <andersen@codepoet.org>
Thu, 21 Jun 2001 04:56:24 +0000 (04:56 -0000)
committerEric Andersen <andersen@codepoet.org>
Thu, 21 Jun 2001 04:56:24 +0000 (04:56 -0000)
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

applets/busybox.c
busybox.c

index f3d0c4c2f02397b325872717b31bfb775d0783ea..7a220f7b04dc96c0c6c3ff864c85b3bb07ac3dff 100644 (file)
@@ -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
index f3d0c4c2f02397b325872717b31bfb775d0783ea..7a220f7b04dc96c0c6c3ff864c85b3bb07ac3dff 100644 (file)
--- 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