projects
/
platform
/
upstream
/
bash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Imported from ../bash-2.01.tar.gz.
[platform/upstream/bash.git]
/
builtins
/
command.def
diff --git
a/builtins/command.def
b/builtins/command.def
index
3a14dc6
..
6e6e5f6
100644
(file)
--- a/
builtins/command.def
+++ b/
builtins/command.def
@@
-117,13
+117,10
@@
command_builtin (list)
if (use_standard_path)
{
old_path = get_string_value ("PATH");
if (use_standard_path)
{
old_path = get_string_value ("PATH");
+ /* If old_path is NULL, $PATH is unset. If so, we want to make sure
+ it's unset after this command completes. */
if (old_path)
old_path = savestring (old_path);
if (old_path)
old_path = savestring (old_path);
- else
- {
- old_path = xmalloc (1);
- old_path[0] = '\0';
- }
add_unwind_protect ((Function *)restore_path, old_path);
standard_path = get_standard_path ();
add_unwind_protect ((Function *)restore_path, old_path);
standard_path = get_standard_path ();
@@
-162,8
+159,13
@@
static void
restore_path (var)
char *var;
{
restore_path (var)
char *var;
{
- bind_variable ("PATH", var);
- free (var);
+ if (var)
+ {
+ bind_variable ("PATH", var);
+ free (var);
+ }
+ else
+ unbind_variable ("PATH");
}
/* Return a value for PATH that is guaranteed to find all of the standard
}
/* Return a value for PATH that is guaranteed to find all of the standard