Summary:
normpath() was being called on an empty string and appended to
the environment variable in the case where the environment variable
was unset. This led to ":." being appended to the path, since
normpath() of an empty string is '.', presumably to represent cwd.
Reviewers: zturner, sqlbyme, modocache
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D38542
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314915
91177308-0d34-0410-b5e6-
96231b3b80d8
def norm(x):
return os.path.normcase(os.path.normpath(x))
- current_paths = self.config.environment.get(variable, "")
- current_paths = current_paths.split(os.path.pathsep)
- paths = [norm(p) for p in current_paths]
+ current_paths = self.config.environment.get(variable, None)
+ if current_paths:
+ current_paths = current_paths.split(os.path.pathsep)
+ paths = [norm(p) for p in current_paths]
+ else:
+ paths = []
+
# If we are passed a list [a b c], then iterating this list forwards
# and adding each to the beginning would result in b c a. So we
# need to iterate in reverse to end up with the original ordering.