diff --git a/bin/sh/main.c b/bin/sh/main.c index ffe8a61670d2..0c496d06e7d6 100644 --- a/bin/sh/main.c +++ b/bin/sh/main.c @@ -170,8 +170,8 @@ main(int argc, char *argv[]) if (minusc) { evalstring(minusc, sflag ? 0 : EV_EXIT); } +state4: if (sflag || minusc == NULL) { -state4: /* XXX ??? - why isn't this before the "if" statement */ cmdloop(1); } exitshell(exitstatus); diff --git a/tools/regression/bin/sh/execution/int-cmd1.0 b/tools/regression/bin/sh/execution/int-cmd1.0 new file mode 100644 index 000000000000..a1f097b774d6 --- /dev/null +++ b/tools/regression/bin/sh/execution/int-cmd1.0 @@ -0,0 +1,3 @@ +# $FreeBSD$ + +! echo echo bad | $SH -ic 'fi' 2>/dev/null