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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now convert it to an output path.
|
// Now convert it to an output path.
|
||||||
if (output == MAKEFILE)
|
if (output == MAKEFILE)
|
||||||
{
|
{
|
||||||
result = cmSystemTools::ConvertToOutputPath(result.c_str());
|
result = cmSystemTools::ConvertToOutputPath(result.c_str());
|
||||||
}
|
}
|
||||||
if( output == SHELL)
|
else if( output == SHELL)
|
||||||
{
|
{
|
||||||
// For the MSYS shell convert drive letters to posix paths, so
|
// For the MSYS shell convert drive letters to posix paths, so
|
||||||
// that c:/some/path becomes /c/some/path. This is needed to
|
// 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
|
std::string
|
||||||
cmLocalGenerator
|
cmLocalGenerator::ConvertToRelativePath(const std::vector<std::string>& local,
|
||||||
::ConvertToRelativePath(const std::vector<std::string>& local,
|
const char* in_remote)
|
||||||
const char* in_remote)
|
|
||||||
{
|
{
|
||||||
// The path should never be quoted.
|
// The path should never be quoted.
|
||||||
assert(in_remote[0] != '\"');
|
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
|
// Also, reuse the loop to check for slash followed by another slash
|
||||||
if ( !hasDoubleSlash && *pos1 &&
|
if (*pos1 == '/' && *(pos1+1) == '/' && !hasDoubleSlash)
|
||||||
*pos1 == '/' && *(pos1+1) == '/' )
|
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
// However, on windows if the first characters are both slashes,
|
// However, on windows if the first characters are both slashes,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user