diff options
author | Tom Tromey <tom@tromey.com> | 2018-09-14 10:35:45 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2018-10-27 11:58:40 -0600 |
commit | 974e68446388769f023c6c9bfb1e67ed75199618 (patch) | |
tree | 49cb772e05b3d9157addbfea699624a0f293e969 /gdb/cli/cli-cmds.c | |
parent | Remove a bunch of usages of gdb_suppress_tests in 'runto_main'. (diff) | |
download | binutils-gdb-974e68446388769f023c6c9bfb1e67ed75199618.tar.gz binutils-gdb-974e68446388769f023c6c9bfb1e67ed75199618.tar.bz2 binutils-gdb-974e68446388769f023c6c9bfb1e67ed75199618.zip |
Unify shell-finding logic
I noticed several places in gdb that were using getenv("SHELL") and
then falling back to "/bin/sh" if it returned NULL. This unifies
these into a single function.
gdb/ChangeLog
2018-10-27 Tom Tromey <tom@tromey.com>
* procfs.c (procfs_target::create_inferior): Use get_shell.
* cli/cli-cmds.c (shell_escape): Use get_shell.
* windows-nat.c (windows_nat_target::create_inferior): Use
get_shell.
* common/pathstuff.c (get_shell): New function.
* nat/fork-inferior.c (SHELL_FILE, get_startup_shell): Remove.
(fork_inferior): Use get_shell.
* common/pathstuff.h (get_shell): Declare.
Diffstat (limited to 'gdb/cli/cli-cmds.c')
-rw-r--r-- | gdb/cli/cli-cmds.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c index b871e476d39..135f550b801 100644 --- a/gdb/cli/cli-cmds.c +++ b/gdb/cli/cli-cmds.c @@ -50,6 +50,7 @@ #include "cli/cli-utils.h" #include "extension.h" +#include "common/pathstuff.h" #ifdef TUI #include "tui/tui.h" /* For tui_active et.al. */ @@ -726,13 +727,10 @@ shell_escape (const char *arg, int from_tty) if ((pid = vfork ()) == 0) { - const char *p, *user_shell; + const char *p, *user_shell = get_shell (); close_most_fds (); - if ((user_shell = getenv ("SHELL")) == NULL) - user_shell = "/bin/sh"; - /* Get the name of the shell for arg0. */ p = lbasename (user_shell); |