aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
Diffstat (limited to 'shell')
-rw-r--r--shell/ash.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 2ad86c187..e80425f5e 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -188,6 +188,7 @@
188#define BASH_PIPEFAIL ENABLE_ASH_BASH_COMPAT 188#define BASH_PIPEFAIL ENABLE_ASH_BASH_COMPAT
189#define BASH_HOSTNAME_VAR ENABLE_ASH_BASH_COMPAT 189#define BASH_HOSTNAME_VAR ENABLE_ASH_BASH_COMPAT
190#define BASH_SHLVL_VAR ENABLE_ASH_BASH_COMPAT 190#define BASH_SHLVL_VAR ENABLE_ASH_BASH_COMPAT
191#define BASH_XTRACEFD ENABLE_ASH_BASH_COMPAT
191 192
192#if defined(__ANDROID_API__) && __ANDROID_API__ <= 24 193#if defined(__ANDROID_API__) && __ANDROID_API__ <= 24
193/* Bionic at least up to version 24 has no glob() */ 194/* Bionic at least up to version 24 has no glob() */
@@ -9792,6 +9793,15 @@ evalcommand(union node *cmd, int flags)
9792 expredir(cmd->ncmd.redirect); 9793 expredir(cmd->ncmd.redirect);
9793 redir_stop = pushredir(cmd->ncmd.redirect); 9794 redir_stop = pushredir(cmd->ncmd.redirect);
9794 preverrout_fd = 2; 9795 preverrout_fd = 2;
9796 if (BASH_XTRACEFD && xflag) {
9797 /* NB: bash closes fd == $BASH_XTRACEFD when it is changed.
9798 * we do not emulate this. We only use its value.
9799 */
9800 const char *xtracefd = lookupvar("BASH_XTRACEFD");
9801 if (xtracefd && is_number(xtracefd))
9802 preverrout_fd = atoi(xtracefd);
9803
9804 }
9795 status = redirectsafe(cmd->ncmd.redirect, REDIR_PUSH | REDIR_SAVEFD2); 9805 status = redirectsafe(cmd->ncmd.redirect, REDIR_PUSH | REDIR_SAVEFD2);
9796 9806
9797 path = vpath.var_text; 9807 path = vpath.var_text;