aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Kraai <kraai@debian.org>2001-07-12 19:39:59 +0000
committerMatt Kraai <kraai@debian.org>2001-07-12 19:39:59 +0000
commitf69bfc76fa7acb0c87fa3f3b319fde361a8315a8 (patch)
tree0cf9a5b952d656fd624785a4f42ac0631ef57471
parentab6526c8b3d0d38bec62b181276380c0533a151d (diff)
downloadbusybox-w32-f69bfc76fa7acb0c87fa3f3b319fde361a8315a8.tar.gz
busybox-w32-f69bfc76fa7acb0c87fa3f3b319fde361a8315a8.tar.bz2
busybox-w32-f69bfc76fa7acb0c87fa3f3b319fde361a8315a8.zip
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 efba6a1ee..230d74f5a 100644
--- a/msh.c
+++ b/msh.c
@@ -3331,11 +3331,19 @@ void (*f)();
3331int key; 3331int key;
3332{ 3332{
3333 if (*wp != NULL) { 3333 if (*wp != NULL) {
3334 for (; *wp != NULL; wp++) 3334 for (; *wp != NULL; wp++) {
3335 if (isassign(*wp)) {
3336 char *cp;
3337 assign(*wp, COPYV);
3338 for (cp = *wp; *cp != '='; cp++)
3339 ;
3340 *cp = '\0';
3341 }
3335 if (checkname(*wp)) 3342 if (checkname(*wp))
3336 (*f)(lookup(*wp)); 3343 (*f)(lookup(*wp));
3337 else 3344 else
3338 badid(*wp); 3345 badid(*wp);
3346 }
3339 } else 3347 } else
3340 putvlist(key, 1); 3348 putvlist(key, 1);
3341} 3349}
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)();
3331int key; 3331int key;
3332{ 3332{
3333 if (*wp != NULL) { 3333 if (*wp != NULL) {
3334 for (; *wp != NULL; wp++) 3334 for (; *wp != NULL; wp++) {
3335 if (isassign(*wp)) {
3336 char *cp;
3337 assign(*wp, COPYV);
3338 for (cp = *wp; *cp != '='; cp++)
3339 ;
3340 *cp = '\0';
3341 }
3335 if (checkname(*wp)) 3342 if (checkname(*wp))
3336 (*f)(lookup(*wp)); 3343 (*f)(lookup(*wp));
3337 else 3344 else
3338 badid(*wp); 3345 badid(*wp);
3346 }
3339 } else 3347 } else
3340 putvlist(key, 1); 3348 putvlist(key, 1);
3341} 3349}