get rid of global "struct bb_applet *current_applet"

diff --git a/include/libbb.h b/include/libbb.h
index d76571b..9d8b5f3 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -564,7 +564,7 @@
 int spawn_and_wait(char **argv);
 struct nofork_save_area {
 	jmp_buf die_jmp;
-	const struct bb_applet *current_applet;
+	const char *applet_name;
 	int xfunc_error_retval;
 	uint32_t option_mask32;
 	int die_sleep;
@@ -748,7 +748,7 @@
 extern const struct bb_applet *find_applet_by_name(const char *name);
 /* Returns only if applet is not found. */
 extern void run_applet_and_exit(const char *name, char **argv);
-extern void run_current_applet_and_exit(char **argv) ATTRIBUTE_NORETURN;
+extern void run_appletstruct_and_exit(const struct bb_applet *a, char **argv) ATTRIBUTE_NORETURN;
 #endif
 
 extern int match_fstype(const struct mntent *mt, const char *fstypes);
@@ -1040,7 +1040,6 @@
 };
 
 #define FILEUTILS_CP_OPTSTR "pdRfils" USE_SELINUX("c")
-extern const struct bb_applet *current_applet;
 extern const char *applet_name;
 /* "BusyBox vN.N.N (timestamp or extra_vestion)" */
 extern const char bb_banner[];