Message ID | 20200604115355.GA13954@gondor.apana.org.au (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Herbert Xu |
Headers | show |
Series | eval: Check nflag in evaltree instead of cmdloop | expand |
diff --git a/src/eval.c b/src/eval.c index d10be38..9476fbb 100644 --- a/src/eval.c +++ b/src/eval.c @@ -213,6 +213,9 @@ evaltree(union node *n, int flags) setstackmark(&smark); + if (nflag) + goto out; + if (n == NULL) { TRACE(("evaltree(NULL) called\n")); goto out; diff --git a/src/main.c b/src/main.c index 7a28534..5c49fdc 100644 --- a/src/main.c +++ b/src/main.c @@ -233,7 +233,7 @@ cmdloop(int top) out2str("\nUse \"exit\" to leave shell.\n"); } numeof++; - } else if (nflag == 0) { + } else { int i; job_warning = (job_warning == 2) ? 1 : 0;
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. Reported-by: Joey Hess <id@joeyh.name> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>