[git commit] libbb: rename run_shell() to exec_shell()

Denys Vlasenko vda.linux at googlemail.com
Wed Dec 2 20:28:47 UTC 2020


commit: https://git.busybox.net/busybox/commit/?id=2075aa93e007863c6b680994a7a0ba420181034f
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 include/libbb.h      |  4 ++--
 libbb/executable.c   |  9 ---------
 libbb/run_shell.c    | 13 +++++++++++--
 loginutils/login.c   |  2 +-
 loginutils/su.c      |  2 +-
 loginutils/sulogin.c |  2 +-
 6 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/include/libbb.h b/include/libbb.h
index 9872dc1fb..c23018f17 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -1140,7 +1140,6 @@ int BB_EXECVP(const char *file, char *const argv[]) FAST_FUNC;
 #define BB_EXECLP(prog,cmd,...) execlp(prog,cmd,__VA_ARGS__)
 #endif
 void BB_EXECVP_or_die(char **argv) NORETURN FAST_FUNC;
-void exec_prog_or_SHELL(char **argv) NORETURN FAST_FUNC;
 
 /* xvfork() can't be a _function_, return after vfork in child mangles stack
  * in the parent. It must be a macro. */
@@ -1607,7 +1606,8 @@ void bb_do_delay(unsigned seconds) FAST_FUNC;
 void msleep(unsigned ms) FAST_FUNC;
 void sleep1(void) FAST_FUNC;
 void change_identity(const struct passwd *pw) FAST_FUNC;
-void run_shell(const char *shell, int loginshell, const char **args) NORETURN FAST_FUNC;
+void exec_shell(const char *shell, int loginshell, const char **args) NORETURN FAST_FUNC;
+void exec_prog_or_SHELL(char **argv) NORETURN FAST_FUNC;
 
 /* Returns $SHELL, getpwuid(getuid())->pw_shell, or DEFAULT_SHELL.
  * Note that getpwuid result might need xstrdup'ing
diff --git a/libbb/executable.c b/libbb/executable.c
index 29d2a2c85..a033b74d9 100644
--- a/libbb/executable.c
+++ b/libbb/executable.c
@@ -91,12 +91,3 @@ void FAST_FUNC BB_EXECVP_or_die(char **argv)
 	xfunc_error_retval = (errno == ENOENT) ? 127 : 126;
 	bb_perror_msg_and_die("can't execute '%s'", argv[0]);
 }
-
-/* Typical idiom for applets which exec *optional* PROG [ARGS] */
-void FAST_FUNC exec_prog_or_SHELL(char **argv)
-{
-	if (argv[0]) {
-		BB_EXECVP_or_die(argv);
-	}
-	run_shell(getenv("SHELL"), /*login:*/ 1, NULL);
-}
diff --git a/libbb/run_shell.c b/libbb/run_shell.c
index a0420d982..c2ff69651 100644
--- a/libbb/run_shell.c
+++ b/libbb/run_shell.c
@@ -48,10 +48,10 @@ void FAST_FUNC set_current_security_context(security_context_t sid)
 
 #endif
 
-/* Run SHELL, or DEFAULT_SHELL if SHELL is "" or NULL.
+/* Exec SHELL, or DEFAULT_SHELL if SHELL is "" or NULL.
  * If ADDITIONAL_ARGS is not NULL, pass them to the shell.
  */
-void FAST_FUNC run_shell(const char *shell, int loginshell, const char **additional_args)
+void FAST_FUNC exec_shell(const char *shell, int loginshell, const char **additional_args)
 {
 	const char **args;
 
@@ -84,3 +84,12 @@ void FAST_FUNC run_shell(const char *shell, int loginshell, const char **additio
 	execv(shell, (char **) args);
 	bb_perror_msg_and_die("can't execute '%s'", shell);
 }
+
+/* Typical idiom for applets which exec *optional* PROG [ARGS] */
+void FAST_FUNC exec_prog_or_SHELL(char **argv)
+{
+	if (argv[0]) {
+		BB_EXECVP_or_die(argv);
+	}
+	exec_shell(getenv("SHELL"), /*login:*/ 1, NULL);
+}
diff --git a/loginutils/login.c b/loginutils/login.c
index f0bce50ce..aacd47241 100644
--- a/loginutils/login.c
+++ b/loginutils/login.c
@@ -602,7 +602,7 @@ int login_main(int argc UNUSED_PARAM, char **argv)
 	signal(SIGINT, SIG_DFL);
 
 	/* Exec login shell with no additional parameters */
-	run_shell(pw->pw_shell, 1, NULL);
+	exec_shell(pw->pw_shell, 1, NULL);
 
 	/* return EXIT_FAILURE; - not reached */
 }
diff --git a/loginutils/su.c b/loginutils/su.c
index 6f91039f9..784a53552 100644
--- a/loginutils/su.c
+++ b/loginutils/su.c
@@ -204,7 +204,7 @@ int su_main(int argc UNUSED_PARAM, char **argv)
 	 */
 
 	/* Never returns */
-	run_shell(opt_shell, flags & SU_OPT_l, (const char**)argv);
+	exec_shell(opt_shell, flags & SU_OPT_l, (const char**)argv);
 
 	/* return EXIT_FAILURE; - not reached */
 }
diff --git a/loginutils/sulogin.c b/loginutils/sulogin.c
index 48dafd186..127aa1de9 100644
--- a/loginutils/sulogin.c
+++ b/loginutils/sulogin.c
@@ -89,5 +89,5 @@ int sulogin_main(int argc UNUSED_PARAM, char **argv)
 		shell = pwd->pw_shell;
 
 	/* Exec login shell with no additional parameters. Never returns. */
-	run_shell(shell, 1, NULL);
+	exec_shell(shell, 1, NULL);
 }


More information about the busybox-cvs mailing list