diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-10-17 20:43:42 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-10-17 20:43:42 +0000 |
commit | 9bd34602fbe945cc2ed81f8f8ac7de59f4679038 (patch) | |
tree | 4459a4f7d4bebe64ac417fcc98f53f5d78606e26 /lib/Support/StringExtras.cpp | |
parent | ca107c5c1871e38f475224db03da5b90f9fccef2 (diff) |
Move UnescapeString to a static function for its sole client; its inefficient and broken.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84358 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/StringExtras.cpp')
-rw-r--r-- | lib/Support/StringExtras.cpp | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/lib/Support/StringExtras.cpp b/lib/Support/StringExtras.cpp index 0a6e497f1e..c72f121653 100644 --- a/lib/Support/StringExtras.cpp +++ b/lib/Support/StringExtras.cpp @@ -56,33 +56,3 @@ void llvm::SplitString(const std::string &Source, S2 = getToken(S, Delimiters); } } - - - -/// UnescapeString - Modify the argument string, turning two character sequences -/// @verbatim -/// like '\\' 'n' into '\n'. This handles: \e \a \b \f \n \r \t \v \' \ and -/// \num (where num is a 1-3 byte octal value). -/// @endverbatim -void llvm::UnescapeString(std::string &Str) { - for (unsigned i = 0; i != Str.size(); ++i) { - if (Str[i] == '\\' && i != Str.size()-1) { - switch (Str[i+1]) { - default: continue; // Don't execute the code after the switch. - case 'a': Str[i] = '\a'; break; - case 'b': Str[i] = '\b'; break; - case 'e': Str[i] = 27; break; - case 'f': Str[i] = '\f'; break; - case 'n': Str[i] = '\n'; break; - case 'r': Str[i] = '\r'; break; - case 't': Str[i] = '\t'; break; - case 'v': Str[i] = '\v'; break; - case '"': Str[i] = '\"'; break; - case '\'': Str[i] = '\''; break; - case '\\': Str[i] = '\\'; break; - } - // Nuke the second character. - Str.erase(Str.begin()+i+1); - } - } -} |