summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Kraai2001-07-12 19:39:59 +0000
committerMatt Kraai2001-07-12 19:39:59 +0000
commitf69bfc76fa7acb0c87fa3f3b319fde361a8315a8 (patch)
tree0cf9a5b952d656fd624785a4f42ac0631ef57471
parentab6526c8b3d0d38bec62b181276380c0533a151d (diff)
downloadbusybox-f69bfc76fa7acb0c87fa3f3b319fde361a8315a8.zip
busybox-f69bfc76fa7acb0c87fa3f3b319fde361a8315a8.tar.gz
Allow assignments in the export and readonly commands.
-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);
}