diff options
author | Eric Andersen | 2002-04-26 23:40:09 +0000 |
---|---|---|
committer | Eric Andersen | 2002-04-26 23:40:09 +0000 |
commit | 1c31501b1bacd5d3a2a156dfd6833fe174fff9d1 (patch) | |
tree | 9c1339c37bea59728464b9372e80d37554185f9c /shell | |
parent | 416340642df18d92600998566ccb1bec25b10d4b (diff) | |
download | busybox-1c31501b1bacd5d3a2a156dfd6833fe174fff9d1.zip busybox-1c31501b1bacd5d3a2a156dfd6833fe174fff9d1.tar.gz |
Ensure that getenv("PATH") stays current, since otherwise cmdedit
(which calls getenv("PATH")) would not operate upon the current
PATH settings, which was really quite iritating.
-Erik
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ash.c | 4 | ||||
-rw-r--r-- | shell/msh.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/shell/ash.c b/shell/ash.c index e721c4e..99d5e7d 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -4111,6 +4111,8 @@ path_change(const char *newval, int *bltin) } if (builtinloc >= 0 && *bltin < 0) firstchange = 0; + /* Ensure that getenv("PATH") stays current */ + setenv("PATH", newval, 1); return firstchange; } /* @@ -12433,7 +12435,7 @@ findvar(struct var **vpp, const char *name) /* * Copyright (c) 1999 Herbert Xu <herbert@debian.org> * This file contains code for the times builtin. - * $Id: ash.c,v 1.48 2002/04/24 23:12:10 andersen Exp $ + * $Id: ash.c,v 1.49 2002/04/26 23:39:48 andersen Exp $ */ static int timescmd (int argc, char **argv) { diff --git a/shell/msh.c b/shell/msh.c index a2f98c8..1485ccb 100644 --- a/shell/msh.c +++ b/shell/msh.c @@ -842,6 +842,8 @@ extern int msh_main(int argc, char **argv) #endif } onecommand(); + /* Ensure that getenv("PATH") stays current */ + setenv("PATH", path->value, 1); } } |