diff options
-rw-r--r-- | shell/ash.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/shell/ash.c b/shell/ash.c index cb674e6..d4ee4c9 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -3962,7 +3962,6 @@ getjob(const char *name, int getctl) unsigned num; int c; const char *p; - char *(*match)(const char *, const char *); jp = curjob; p = name; @@ -4003,15 +4002,12 @@ getjob(const char *name, int getctl) } } - match = prefix; - if (*p == '?') { - match = strstr; - p++; - } - found = NULL; while (jp) { - if (match(jp->ps[0].ps_cmd, p)) { + if (*p == '?' + ? strstr(jp->ps[0].ps_cmd, p + 1) + : prefix(jp->ps[0].ps_cmd, p) + ) { if (found) goto err; found = jp; |