diff options
author | Brad King <brad.king@kitware.com> | 2010-08-18 14:26:05 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2010-08-18 14:26:05 (GMT) |
commit | cb9ea2647f66326dde34a15fde4d7d93a5c766ac (patch) | |
tree | ad4a77d77ff103a57c39fc550e0ccd26d97029bd | |
parent | 5383657357b35481b5ff676736e36927339bea1c (diff) | |
download | CMake-cb9ea2647f66326dde34a15fde4d7d93a5c766ac.zip CMake-cb9ea2647f66326dde34a15fde4d7d93a5c766ac.tar.gz CMake-cb9ea2647f66326dde34a15fde4d7d93a5c766ac.tar.bz2 |
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.
-rw-r--r-- | Source/cmLocalGenerator.cxx | 24 | ||||
-rw-r--r-- | Source/cmSystemTools.cxx | 43 | ||||
-rw-r--r-- | Source/cmSystemTools.h | 6 |
3 files changed, 18 insertions, 55 deletions
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index 07c92e5..bac0223 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -2810,17 +2810,29 @@ cmLocalGenerator std::string cmLocalGenerator::EscapeForShellOldStyle(const char* str) { std::string result; - bool forceOn = cmSystemTools::GetForceUnixPaths(); - if(forceOn && this->WindowsShell) +#if defined(_WIN32) && !defined(__CYGWIN__) + // 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); - if(forceOn && this->WindowsShell) + return str; +#else + for(const char* ch = str; *ch != '\0'; ++ch) { - cmSystemTools::SetForceUnixPaths(true); + if(*ch == ' ') + { + result += '\\'; + } + result += *ch; } return result; +#endif } //---------------------------------------------------------------------------- diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 0e0a770..271a662 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -191,49 +191,6 @@ std::string cmSystemTools::EscapeQuotes(const char* str) 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, const char* m3, const char* m4) { diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h index da5da31..6a9d849 100644 --- a/Source/cmSystemTools.h +++ b/Source/cmSystemTools.h @@ -46,12 +46,6 @@ public: static void ExpandRegistryValues(std::string& source, 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. static std::string EscapeQuotes(const char* str); |