Patch from Jason Schoon to add optional SIGUSR1 support to dd.
[oweals/busybox.git] / applets / busybox.c
index a49565008df6f80b967f3029fe2391cec5a9e9c5..be1f19ad29708d4e91f1b893bf10a5aa6c0d546d 100644 (file)
@@ -11,7 +11,7 @@
 #define setlocale(x,y)
 #endif
 
-const char *bb_applet_name;
+const char *bb_applet_name ATTRIBUTE_EXTERNALLY_VISIBLE;
 
 #ifdef CONFIG_FEATURE_INSTALLER
 /*
@@ -70,7 +70,7 @@ int main(int argc, char **argv)
                if (*(s++) == '/') bb_applet_name = s;
 
        /* Set locale for everybody except `init' */
-       if(ENABLE_LOCALE_SUPPORT && (!ENABLE_INIT || getpid()==1))
+       if(ENABLE_LOCALE_SUPPORT && getpid() != 1)
                setlocale(LC_ALL, "");
 
        run_applet_by_name(bb_applet_name, argc, argv);
@@ -108,10 +108,11 @@ int busybox_main(int argc, char **argv)
        }
 
        /* Deal with --help.  (Also print help when called with no arguments) */
-       
+
        if (argc==1 || !strcmp(argv[1],"--help") ) {
-               if (argc>2) run_applet_by_name(bb_applet_name=argv[2], argc, argv);
-               else {
+               if (argc>2) {
+                       run_applet_by_name(bb_applet_name=argv[2], 2, argv);
+               } else {
                        const struct BB_applet *a;
                        int col, output_width;
 
@@ -143,7 +144,7 @@ int busybox_main(int argc, char **argv)
                        exit(0);
                }
        } else run_applet_by_name(bb_applet_name=argv[1], argc-1, argv+1);
-       
+
        bb_error_msg_and_die("applet not found");
 }