Ensure that getenv("PATH") stays current, since otherwise cmdedit
authorEric Andersen <andersen@codepoet.org>
Fri, 26 Apr 2002 23:40:09 +0000 (23:40 -0000)
committerEric Andersen <andersen@codepoet.org>
Fri, 26 Apr 2002 23:40:09 +0000 (23:40 -0000)
(which calls getenv("PATH")) would not operate upon the current
PATH settings, which was really quite iritating.
 -Erik

shell/ash.c
shell/msh.c

index e721c4ee513b4ec3458f220acde5ab67f704a4ea..99d5e7d740e768a6573707257c1d346837f20472 100644 (file)
@@ -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)
 {
index a2f98c837207bed9167764c7ddae767e62ea885b..1485ccb6fd426fc779fd4fe6754350096c2ec7cb 100644 (file)
@@ -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);
        }
 }