diff options
-rw-r--r-- | msh.c | 10 | ||||
-rw-r--r-- | shell/msh.c | 10 |
2 files changed, 18 insertions, 2 deletions
@@ -3331,11 +3331,19 @@ void (*f)(); int key; { if (*wp != NULL) { - for (; *wp != NULL; wp++) + for (; *wp != NULL; wp++) { + if (isassign(*wp)) { + char *cp; + assign(*wp, COPYV); + for (cp = *wp; *cp != '='; cp++) + ; + *cp = '\0'; + } if (checkname(*wp)) (*f)(lookup(*wp)); else badid(*wp); + } } else putvlist(key, 1); } diff --git a/shell/msh.c b/shell/msh.c index efba6a1ee..230d74f5a 100644 --- a/shell/msh.c +++ b/shell/msh.c @@ -3331,11 +3331,19 @@ void (*f)(); int key; { if (*wp != NULL) { - for (; *wp != NULL; wp++) + for (; *wp != NULL; wp++) { + if (isassign(*wp)) { + char *cp; + assign(*wp, COPYV); + for (cp = *wp; *cp != '='; cp++) + ; + *cp = '\0'; + } if (checkname(*wp)) (*f)(lookup(*wp)); else badid(*wp); + } } else putvlist(key, 1); } |