diff options
-rw-r--r-- | shell/ash.c | 5 | ||||
-rw-r--r-- | shell/ash_test/ash-misc/set-n1.right | 3 | ||||
-rwxr-xr-x | shell/ash_test/ash-misc/set-n1.tests | 2 |
3 files changed, 9 insertions, 1 deletions
diff --git a/shell/ash.c b/shell/ash.c index cfe0433..2d2c09b 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -9299,6 +9299,9 @@ evaltree(union node *n, int flags) setstackmark(&smark); + if (nflag) + goto out; + if (n == NULL) { TRACE(("evaltree(NULL) called\n")); goto out; @@ -13557,7 +13560,7 @@ cmdloop(int top) out2str("\nUse \"exit\" to leave shell.\n"); } numeof++; - } else if (nflag == 0) { + } else { int i; /* job_warning can only be 2,1,0. Here 2->1, 1/0->0 */ diff --git a/shell/ash_test/ash-misc/set-n1.right b/shell/ash_test/ash-misc/set-n1.right new file mode 100644 index 0000000..ac01831 --- /dev/null +++ b/shell/ash_test/ash-misc/set-n1.right @@ -0,0 +1,3 @@ +set -n stops in -c? +YES +Ok:0 diff --git a/shell/ash_test/ash-misc/set-n1.tests b/shell/ash_test/ash-misc/set-n1.tests new file mode 100755 index 0000000..90d0f91 --- /dev/null +++ b/shell/ash_test/ash-misc/set-n1.tests @@ -0,0 +1,2 @@ +$THIS_SH -c "echo 'set -n stops in -c?'; set -n; echo NO" && echo YES +echo Ok:$? |