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 <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>

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;
-- 
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

Reply via email to