diff options
author | Laszlo Csomor <laszlocsomor@google.com> | 2016-08-26 05:14:37 +0000 |
---|---|---|
committer | John Cater <jcater@google.com> | 2016-08-26 18:39:52 +0000 |
commit | 6713d3821b25e1b240e8ea1f7c62d3a9d675f9ca (patch) | |
tree | 176063e0d732ec374137bfcde976db91bfe94aff /src/main/cpp | |
parent | 1ac4568f25f93548927db9080308b0d2e736f7a3 (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/main/cpp')
-rw-r--r-- | src/main/cpp/option_processor.cc | 10 |
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); |