diff --git a/src/text.cpp b/src/text.cpp index 28815868d..5143ebe03 100644 --- a/src/text.cpp +++ b/src/text.cpp @@ -682,6 +682,28 @@ bool isPunctuation (char c) return ispunct (c); } +//////////////////////////////////////////////////////////////////////////////// +std::string visible (char input) +{ + // Sanitize 'message'. + char stringized[2] = {0}; + stringized[0] = input; + + std::string sanitized = stringized; + switch (input) + { + case ' ': sanitized = "\\s"; break; + case '\r': sanitized = "\\r"; break; + case '\n': sanitized = "\\n"; break; + case '\f': sanitized = "\\f"; break; + case '\t': sanitized = "\\t"; break; + case '\v': sanitized = "\\v"; break; + default: sanitized = input; break; + } + + return sanitized; +} + //////////////////////////////////////////////////////////////////////////////// bool compare ( const std::string& left, diff --git a/src/text.h b/src/text.h index 3bbc7b8b0..5b98b60bc 100644 --- a/src/text.h +++ b/src/text.h @@ -63,6 +63,7 @@ bool isWordStart (const std::string&, std::string::size_type); bool isWordEnd (const std::string&, std::string::size_type); bool isTokenEnd (const std::string&, std::string::size_type); bool isPunctuation (char); +std::string visible (char); bool compare (const std::string&, const std::string&, bool sensitive = true); bool closeEnough (const std::string&, const std::string&, unsigned int minLength = 0); std::string::size_type find (const std::string&, const std::string&, bool sensitive = true);