On Fri, Jun 03, 2016 at 09:54:31AM +0200, Stephen Kitt wrote: > 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@xxxxxxx> Thanks for the patch. I'd prefer to move that logic out of the loop, like this: ---8<--- From: Stephen Kitt <steve@xxxxxxx> 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@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> diff --git a/src/jobs.c b/src/jobs.c index 3997863..4f02e38 100644 --- a/src/jobs.c +++ b/src/jobs.c @@ -714,9 +714,7 @@ check: } found = 0; - while (1) { - if (!jp) - goto err; + while (jp) { if (match(jp->ps[0].cmd, p)) { if (found) goto err; @@ -726,6 +724,10 @@ check: jp = jp->prev_job; } + if (!found) + goto err; + jp = found; + gotit: #if JOBS err_msg = "job %s not created under job control"; -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- To unsubscribe from this list: send the line "unsubscribe dash" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html