summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--msh.c10
-rw-r--r--shell/msh.c10
2 files changed, 18 insertions, 2 deletions
diff --git a/msh.c b/msh.c
index efba6a1..230d74f 100644
--- a/msh.c
+++ b/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);
}
diff --git a/shell/msh.c b/shell/msh.c
index efba6a1..230d74f 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);
}