From f87b0ce9e498afb95b9f822fcafaaf3c90bfa6c9 Mon Sep 17 00:00:00 2001 From: jilles Date: Wed, 3 Jul 2013 21:56:25 +0000 Subject: [PATCH] MFC r248349: sh: Recognize "--" and explicitly reject options in wait builtin. If syntactically invalid job identifiers are to be taken as jobs that exited with status 127, this should not apply to options, so that we can add options later if need be. git-svn-id: svn://svn.freebsd.org/base/stable/9@252617 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- bin/sh/jobs.c | 7 ++++--- tools/regression/bin/sh/builtins/wait6.0 | 3 +++ tools/regression/bin/sh/builtins/wait7.0 | 4 ++++ 3 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 tools/regression/bin/sh/builtins/wait6.0 create mode 100644 tools/regression/bin/sh/builtins/wait7.0 diff --git a/bin/sh/jobs.c b/bin/sh/jobs.c index 9ae7dfdc5..3c3b939a8 100644 --- a/bin/sh/jobs.c +++ b/bin/sh/jobs.c @@ -459,14 +459,15 @@ freejob(struct job *jp) int -waitcmd(int argc, char **argv) +waitcmd(int argc __unused, char **argv __unused) { struct job *job; int status, retval; struct job *jp; - if (argc > 1) { - job = getjob(argv[1]); + nextopt(""); + if (*argptr != NULL) { + job = getjob(*argptr); } else { job = NULL; } diff --git a/tools/regression/bin/sh/builtins/wait6.0 b/tools/regression/bin/sh/builtins/wait6.0 new file mode 100644 index 000000000..20e3c6808 --- /dev/null +++ b/tools/regression/bin/sh/builtins/wait6.0 @@ -0,0 +1,3 @@ +# $FreeBSD$ + +wait -- diff --git a/tools/regression/bin/sh/builtins/wait7.0 b/tools/regression/bin/sh/builtins/wait7.0 new file mode 100644 index 000000000..0fb092f8f --- /dev/null +++ b/tools/regression/bin/sh/builtins/wait7.0 @@ -0,0 +1,4 @@ +# $FreeBSD$ + +: & +wait -- $! -- 2.45.0