diff options
author | attilio <attilio@FreeBSD.org> | 2011-05-22 20:41:10 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2011-05-22 20:41:10 +0000 |
commit | 627bd73cdb2acee5db84ea77c64c5b46decfe9bc (patch) | |
tree | 04ca6a0f0391d681921f7b1a86e91bfc541519c5 /bin/sh/eval.c | |
parent | 08bcb681d2e1e3a0707624ad288cb81cd79bed89 (diff) | |
parent | 12ddcc1b33320b2f47fcfadc2a831c63a07b34b3 (diff) | |
download | FreeBSD-src-627bd73cdb2acee5db84ea77c64c5b46decfe9bc.zip FreeBSD-src-627bd73cdb2acee5db84ea77c64c5b46decfe9bc.tar.gz |
MFC
Diffstat (limited to 'bin/sh/eval.c')
-rw-r--r-- | bin/sh/eval.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/bin/sh/eval.c b/bin/sh/eval.c index b19c24f..a50c53f 100644 --- a/bin/sh/eval.c +++ b/bin/sh/eval.c @@ -714,15 +714,9 @@ evalcommand(union node *cmd, int flags, struct backcmd *backcmd) oexitstatus = exitstatus; exitstatus = 0; for (argp = cmd->ncmd.args ; argp ; argp = argp->narg.next) { - char *p = argp->narg.text; - if (varflag && is_name(*p)) { - do { - p++; - } while (is_in_name(*p)); - if (*p == '=') { - expandarg(argp, &varlist, EXP_VARTILDE); - continue; - } + if (varflag && isassignment(argp->narg.text)) { + expandarg(argp, &varlist, EXP_VARTILDE); + continue; } expandarg(argp, &arglist, EXP_FULL | EXP_TILDE); varflag = 0; |