aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Laszlo Csomor <laszlocsomor@google.com>2016-08-26 05:14:37 +0000
committerGravatar John Cater <jcater@google.com>2016-08-26 18:39:52 +0000
commit6713d3821b25e1b240e8ea1f7c62d3a9d675f9ca (patch)
tree176063e0d732ec374137bfcde976db91bfe94aff /src
parent1ac4568f25f93548927db9080308b0d2e736f7a3 (diff)
option_processor: fix bad TMP parsing on Windows/MSYS.
See GitHub issue #1684: https://github.com/bazelbuild/bazel/issues/1684#issuecomment-242401560 -- MOS_MIGRATED_REVID=131368104
Diffstat (limited to 'src')
-rw-r--r--src/main/cpp/option_processor.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/main/cpp/option_processor.cc b/src/main/cpp/option_processor.cc
index 2b2a893bdb..db1eb830bc 100644
--- a/src/main/cpp/option_processor.cc
+++ b/src/main/cpp/option_processor.cc
@@ -429,10 +429,12 @@ void OptionProcessor::AddRcfileArgsAndOptions(bool batch, const string& cwd) {
int pos = env_str.find("=");
if (pos != string::npos) {
string name = env_str.substr(0, pos);
- if (name == "PATH" || name == "TMP") {
- string value = env_str.substr(pos + 1);
- value = ConvertPathList(value);
- env_str = name + "=" + value;
+ if (name == "PATH") {
+ env_str = "PATH=" + ConvertPathList(env_str.substr(pos + 1));
+ } else if (name == "TMP") {
+ // A valid Windows path "c:/foo" is also a valid Unix path list of
+ // ["c", "/foo"] so must use ConvertPath here. See GitHub issue #1684.
+ env_str = "TMP=" + ConvertPath(env_str.substr(pos + 1));
}
}
command_arguments_.push_back("--client_env=" + env_str);