diff options
author | Evan Martin <martine@danga.com> | 2012-08-12 23:27:58 (GMT) |
---|---|---|
committer | Evan Martin <martine@danga.com> | 2012-08-12 23:27:58 (GMT) |
commit | de3f570cfe0bfdd564913a1431dc95fd17ff44eb (patch) | |
tree | 0504e1ba7275aa7c6fc5a62c5d3d7d6fde105704 /src/includes_normalize-win32.cc | |
parent | 0af67f1babe08c7e00ba194ccb47c4a0c60fa52a (diff) | |
download | Ninja-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.cc | 11 |
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)); } |