Remove cmSystemTools::EscapeSpaces method

The last remaining call to this method exists only for compatibility.
Remove the method and put its implementation inline in place of the last
call.
This commit is contained in:
Brad King 2010-08-18 10:26:05 -04:00
parent 5383657357
commit cb9ea2647f
3 changed files with 18 additions and 55 deletions

View File

@ -2810,17 +2810,29 @@ cmLocalGenerator
std::string cmLocalGenerator::EscapeForShellOldStyle(const char* str) std::string cmLocalGenerator::EscapeForShellOldStyle(const char* str)
{ {
std::string result; std::string result;
bool forceOn = cmSystemTools::GetForceUnixPaths(); #if defined(_WIN32) && !defined(__CYGWIN__)
if(forceOn && this->WindowsShell) // if there are spaces
std::string temp = str;
if (temp.find(" ") != std::string::npos &&
temp.find("\"")==std::string::npos)
{ {
cmSystemTools::SetForceUnixPaths(false); result = "\"";
result += str;
result += "\"";
return result;
} }
result = cmSystemTools::EscapeSpaces(str); return str;
if(forceOn && this->WindowsShell) #else
for(const char* ch = str; *ch != '\0'; ++ch)
{ {
cmSystemTools::SetForceUnixPaths(true); if(*ch == ' ')
{
result += '\\';
}
result += *ch;
} }
return result; return result;
#endif
} }
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------

View File

@ -191,49 +191,6 @@ std::string cmSystemTools::EscapeQuotes(const char* str)
return result; return result;
} }
std::string cmSystemTools::EscapeSpaces(const char* str)
{
#if defined(_WIN32) && !defined(__CYGWIN__)
bool useDoubleQ = true;
#else
bool useDoubleQ = false;
#endif
if(cmSystemTools::s_ForceUnixPaths)
{
useDoubleQ = false;
}
if(useDoubleQ)
{
std::string result;
// if there are spaces
std::string temp = str;
if (temp.find(" ") != std::string::npos &&
temp.find("\"")==std::string::npos)
{
result = "\"";
result += str;
result += "\"";
return result;
}
return str;
}
else
{
std::string result = "";
for(const char* ch = str; *ch != '\0'; ++ch)
{
if(*ch == ' ')
{
result += '\\';
}
result += *ch;
}
return result;
}
}
void cmSystemTools::Error(const char* m1, const char* m2, void cmSystemTools::Error(const char* m1, const char* m2,
const char* m3, const char* m4) const char* m3, const char* m4)
{ {

View File

@ -46,12 +46,6 @@ public:
static void ExpandRegistryValues(std::string& source, static void ExpandRegistryValues(std::string& source,
KeyWOW64 view = KeyWOW64_Default); KeyWOW64 view = KeyWOW64_Default);
/**
* Platform independent escape spaces, unix uses backslash,
* windows double quotes the string.
*/
static std::string EscapeSpaces(const char* str);
///! Escape quotes in a string. ///! Escape quotes in a string.
static std::string EscapeQuotes(const char* str); static std::string EscapeQuotes(const char* str);