PERF: micro optimization: the (*pos1) && (*pos1=='/') were redundant, and
hasDoubleSlash is false in most cases, so in most cases 3 comparisons were done, now only one Alex
This commit is contained in:
parent
21c14ca2bc
commit
dddbad259c
|
@ -2193,13 +2193,12 @@ std::string cmLocalGenerator::Convert(const char* source,
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Now convert it to an output path.
|
||||
if (output == MAKEFILE)
|
||||
{
|
||||
result = cmSystemTools::ConvertToOutputPath(result.c_str());
|
||||
}
|
||||
if( output == SHELL)
|
||||
else if( output == SHELL)
|
||||
{
|
||||
// For the MSYS shell convert drive letters to posix paths, so
|
||||
// that c:/some/path becomes /c/some/path. This is needed to
|
||||
|
@ -2298,9 +2297,8 @@ static bool cmLocalGeneratorNotAbove(const char* a, const char* b)
|
|||
|
||||
//----------------------------------------------------------------------------
|
||||
std::string
|
||||
cmLocalGenerator
|
||||
::ConvertToRelativePath(const std::vector<std::string>& local,
|
||||
const char* in_remote)
|
||||
cmLocalGenerator::ConvertToRelativePath(const std::vector<std::string>& local,
|
||||
const char* in_remote)
|
||||
{
|
||||
// The path should never be quoted.
|
||||
assert(in_remote[0] != '\"');
|
||||
|
|
|
@ -1344,8 +1344,7 @@ void SystemTools::ConvertToUnixSlashes(kwsys_stl::string& path)
|
|||
}
|
||||
|
||||
// Also, reuse the loop to check for slash followed by another slash
|
||||
if ( !hasDoubleSlash && *pos1 &&
|
||||
*pos1 == '/' && *(pos1+1) == '/' )
|
||||
if (*pos1 == '/' && *(pos1+1) == '/' && !hasDoubleSlash)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
// However, on windows if the first characters are both slashes,
|
||||
|
|
Loading…
Reference in New Issue