diff mbox

Handle string-based job descriptors

Message ID 1464940471-9819-1-git-send-email-steve@sk2.org (mailing list archive)
State Superseded
Delegated to: Herbert Xu
Headers show

Commit Message

Stephen Kitt June 3, 2016, 7:54 a.m. UTC
When looking for a job using a string descriptor, e.g.

	fg %man

the relevant loop in src/jobs.c only ever exits to the err label. With
this patch, when the end condition is reached, we check whether a job
was found, and if so, set things up to exit correctly via gotit.
Multiple matches are already caught using the test in the match block.

Signed-off-by: Stephen Kitt <steve@sk2.org>
---
 src/jobs.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
diff mbox

Patch

diff --git a/src/jobs.c b/src/jobs.c
index c2c2332..37f3b41 100644
--- a/src/jobs.c
+++ b/src/jobs.c
@@ -715,8 +715,14 @@  check:
 
 	found = 0;
 	while (1) {
-		if (!jp)
-			goto err;
+		if (!jp) {
+			if (found) {
+				jp = found;
+				goto gotit;
+			} else {
+				goto err;
+			}
+		}
 		if (match(jp->ps[0].cmd, p)) {
 			if (found)
 				goto err;