From 9338c85c31d5a2f3d9de8d5571f82b7e849a374c Mon Sep 17 00:00:00 2001 From: Jilles Tjoelker Date: Sat, 4 Jun 2011 11:28:42 +0000 Subject: [PATCH] sh: Honour -n while processing -c string. --- bin/sh/eval.c | 2 +- tools/regression/bin/sh/execution/set-n4.0 | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 tools/regression/bin/sh/execution/set-n4.0 diff --git a/bin/sh/eval.c b/bin/sh/eval.c index a50c53fdcb90..404de3312182 100644 --- a/bin/sh/eval.c +++ b/bin/sh/eval.c @@ -165,7 +165,7 @@ evalstring(char *s, int flags) setstackmark(&smark); setinputstring(s, 1); while ((n = parsecmd(0)) != NEOF) { - if (n != NULL) { + if (n != NULL && !nflag) { if (flags_exit && preadateof()) evaltree(n, flags | EV_EXIT); else diff --git a/tools/regression/bin/sh/execution/set-n4.0 b/tools/regression/bin/sh/execution/set-n4.0 new file mode 100644 index 000000000000..36985084b26b --- /dev/null +++ b/tools/regression/bin/sh/execution/set-n4.0 @@ -0,0 +1,3 @@ +# $FreeBSD$ + +$SH -nc 'echo bad'