diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2020-12-02 21:28:47 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2020-12-02 21:28:47 +0100 |
commit | 2075aa93e007863c6b680994a7a0ba420181034f (patch) | |
tree | 1e9a01215018359e4a8524a9a044d7a61fae1967 /libbb/run_shell.c | |
parent | b4f93f562d261a163113cd15cc252c53d2fa27bb (diff) |
libbb: rename run_shell() to exec_shell()
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb/run_shell.c')
-rw-r--r-- | libbb/run_shell.c | 13 |
1 files changed, 11 insertions, 2 deletions
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); +} |