[git commit] ash: fix bug 571 (jobs %string misbehaving)
Denys Vlasenko
vda.linux at googlemail.com
Mon Aug 17 00:12:20 UTC 2009
commit: http://git.busybox.net/busybox/commit/?id=ffc39202aad7858bbe4a894f0e81e7ec313b5478
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
shell/ash.c | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/shell/ash.c b/shell/ash.c
index 3755202..077f5e5 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -3510,7 +3510,7 @@ getjob(const char *name, int getctl)
{
struct job *jp;
struct job *found;
- const char *err_msg = "No such job: %s";
+ const char *err_msg = "%s: no such job";
unsigned num;
int c;
const char *p;
@@ -3562,10 +3562,8 @@ getjob(const char *name, int getctl)
p++;
}
- found = 0;
- while (1) {
- if (!jp)
- goto err;
+ found = NULL;
+ while (jp) {
if (match(jp->ps[0].cmd, p)) {
if (found)
goto err;
@@ -3574,6 +3572,9 @@ getjob(const char *name, int getctl)
}
jp = jp->prev_job;
}
+ if (!found)
+ goto err;
+ jp = found;
gotit:
#if JOBS
--
1.6.3.3
More information about the busybox-cvs
mailing list