diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2011-11-11 05:00:35 (GMT) |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2012-02-02 23:04:38 (GMT) |
commit | 2cd36550b073fd4f559f7edc5a5170af534f1068 (patch) | |
tree | 95d4cdfc97909ca66b2e58095bdda74848801f5e /Source | |
parent | e8584401852a871b6cda57e570b7bb04b6dacf74 (diff) | |
download | CMake-2cd36550b073fd4f559f7edc5a5170af534f1068.zip CMake-2cd36550b073fd4f559f7edc5a5170af534f1068.tar.gz CMake-2cd36550b073fd4f559f7edc5a5170af534f1068.tar.bz2 |
Add cmSystemTools::TrimWhitespace function
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmSystemTools.cxx | 14 | ||||
-rw-r--r-- | Source/cmSystemTools.h | 5 |
2 files changed, 19 insertions, 0 deletions
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 02060ca..3e927cf 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -196,6 +196,20 @@ std::string cmSystemTools::EscapeQuotes(const char* str) return result; } +std::string cmSystemTools::TrimWhitespace(const std::string& s) +{ + std::string::const_iterator start = s.begin(); + while(start != s.end() && *start == ' ') + ++start; + if (start == s.end()) + return ""; + + std::string::const_iterator stop = s.end()-1; + while(*stop == ' ') + --stop; + return std::string(start, stop+1); +} + 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 2137340..88ae1c0 100644 --- a/Source/cmSystemTools.h +++ b/Source/cmSystemTools.h @@ -49,6 +49,11 @@ public: ///! Escape quotes in a string. static std::string EscapeQuotes(const char* str); + /** + * Returns a string that has whitespace removed from the start and the end. + */ + static std::string TrimWhitespace(const std::string& s); + typedef void (*ErrorCallback)(const char*, const char*, bool&, void*); /** * Set the function used by GUI's to display error messages |