summaryrefslogtreecommitdiff
path: root/shell/ash.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2021-09-07 01:52:21 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2021-09-07 01:52:21 +0200
commit41beb53787ec798a27f336c4758cb5ebd8f0c75a (patch)
tree159adc66892cbf865d070cf809d3ae0825df4d19 /shell/ash.c
parente0bf3df0205d5ccef52df67b1760b8b54f15ec6e (diff)
downloadbusybox-w32-41beb53787ec798a27f336c4758cb5ebd8f0c75a.tar.gz
busybox-w32-41beb53787ec798a27f336c4758cb5ebd8f0c75a.tar.bz2
busybox-w32-41beb53787ec798a27f336c4758cb5ebd8f0c75a.zip
ash: eval: Check nflag in evaltree instead of cmdloop
Upstream commit: Date: Thu, 4 Jun 2020 21:53:55 +1000 eval: Check nflag in evaltree instead of cmdloop This patch moves the nflag check from cmdloop into evaltree. This is so that nflag will be in force even if we enter the shell via a path other than cmdloop, e.g., through sh -c. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/ash.c')
-rw-r--r--shell/ash.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/shell/ash.c b/shell/ash.c
index cfe0433a8..2d2c09ba5 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -9299,6 +9299,9 @@ evaltree(union node *n, int flags)
9299 9299
9300 setstackmark(&smark); 9300 setstackmark(&smark);
9301 9301
9302 if (nflag)
9303 goto out;
9304
9302 if (n == NULL) { 9305 if (n == NULL) {
9303 TRACE(("evaltree(NULL) called\n")); 9306 TRACE(("evaltree(NULL) called\n"));
9304 goto out; 9307 goto out;
@@ -13557,7 +13560,7 @@ cmdloop(int top)
13557 out2str("\nUse \"exit\" to leave shell.\n"); 13560 out2str("\nUse \"exit\" to leave shell.\n");
13558 } 13561 }
13559 numeof++; 13562 numeof++;
13560 } else if (nflag == 0) { 13563 } else {
13561 int i; 13564 int i;
13562 13565
13563 /* job_warning can only be 2,1,0. Here 2->1, 1/0->0 */ 13566 /* job_warning can only be 2,1,0. Here 2->1, 1/0->0 */