Backport fix from Matt, for when applet names contain a leading dash
authorEric Andersen <andersen@codepoet.org>
Mon, 3 Sep 2001 19:21:07 +0000 (19:21 -0000)
committerEric Andersen <andersen@codepoet.org>
Mon, 3 Sep 2001 19:21:07 +0000 (19:21 -0000)
and a full pathname.

busybox/applets/busybox.c
busybox/busybox.c

index 7a220f7b04dc96c0c6c3ff864c85b3bb07ac3dff..33efb5d846c422da63029e3da74368552495493c 100644 (file)
@@ -69,16 +69,16 @@ int main(int argc, char **argv)
 {
        const char *s;
 
-       for (s = applet_name = argv[0]; *s != '\0';) {
+       applet_name = argv[0];
+
+       if (applet_name[0] == '-')
+               applet_name++;
+
+       for (s = applet_name; *s != '\0';) {
                if (*s++ == '/')
                        applet_name = s;
        }
 
-       /* Add in a special case hack for a leading hyphen */
-       if (**argv == '-' && *(*argv+1)!= '-') {
-               applet_name = (*argv+1);
-       }
-
 #ifdef BB_LOCALE_SUPPORT 
 #ifdef BB_INIT
        if(getpid()!=1) /* Do not set locale for `init' */
index 7a220f7b04dc96c0c6c3ff864c85b3bb07ac3dff..33efb5d846c422da63029e3da74368552495493c 100644 (file)
@@ -69,16 +69,16 @@ int main(int argc, char **argv)
 {
        const char *s;
 
-       for (s = applet_name = argv[0]; *s != '\0';) {
+       applet_name = argv[0];
+
+       if (applet_name[0] == '-')
+               applet_name++;
+
+       for (s = applet_name; *s != '\0';) {
                if (*s++ == '/')
                        applet_name = s;
        }
 
-       /* Add in a special case hack for a leading hyphen */
-       if (**argv == '-' && *(*argv+1)!= '-') {
-               applet_name = (*argv+1);
-       }
-
 #ifdef BB_LOCALE_SUPPORT 
 #ifdef BB_INIT
        if(getpid()!=1) /* Do not set locale for `init' */