summaryrefslogtreecommitdiffstats
path: root/src/includes_normalize-win32.cc
diff options
context:
space:
mode:
authorEvan Martin <martine@danga.com>2012-08-12 23:27:58 (GMT)
committerEvan Martin <martine@danga.com>2012-08-12 23:27:58 (GMT)
commitde3f570cfe0bfdd564913a1431dc95fd17ff44eb (patch)
tree0504e1ba7275aa7c6fc5a62c5d3d7d6fde105704 /src/includes_normalize-win32.cc
parent0af67f1babe08c7e00ba194ccb47c4a0c60fa52a (diff)
downloadNinja-de3f570cfe0bfdd564913a1431dc95fd17ff44eb.zip
Ninja-de3f570cfe0bfdd564913a1431dc95fd17ff44eb.tar.gz
Ninja-de3f570cfe0bfdd564913a1431dc95fd17ff44eb.tar.bz2
includes_normalize: also lowercase cross-drive includes
It seems to me inconsistent to normalize one but not the other.
Diffstat (limited to 'src/includes_normalize-win32.cc')
-rw-r--r--src/includes_normalize-win32.cc11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/includes_normalize-win32.cc b/src/includes_normalize-win32.cc
index cf398ae..134cfb8 100644
--- a/src/includes_normalize-win32.cc
+++ b/src/includes_normalize-win32.cc
@@ -91,18 +91,17 @@ string IncludesNormalize::Relativize(StringPiece path, const string& start) {
return Join(rel_list, '\\');
}
-string IncludesNormalize::Normalize(StringPiece input,
+string IncludesNormalize::Normalize(const string& input,
const char* relative_to) {
char copy[_MAX_PATH];
- size_t len = input.len_;
- strncpy(copy, input.str_, input.len_ + 1);
+ size_t len = input.size();
+ strncpy(copy, input.c_str(), input.size() + 1);
for (size_t j = 0; j < len; ++j)
if (copy[j] == '/')
copy[j] = '\\';
string err;
if (!CanonicalizePath(copy, &len, &err)) {
- Warning("couldn't canonicalize '%*s': %s\n", input.len_, input.str_,
- err.c_str());
+ Warning("couldn't canonicalize '%s: %s\n", input.c_str(), err.c_str());
}
string curdir;
if (!relative_to) {
@@ -111,6 +110,6 @@ string IncludesNormalize::Normalize(StringPiece input,
}
StringPiece partially_fixed(copy, len);
if (!SameDrive(partially_fixed, relative_to))
- return partially_fixed.AsString();
+ return ToLower(partially_fixed.AsString());
return ToLower(Relativize(partially_fixed, relative_to));
}