Add html::EscapeText for std::string; use this function to escape text in message bubbles.
llvm-svn: 48884
diff --git a/clang/lib/Rewrite/HTMLRewrite.cpp b/clang/lib/Rewrite/HTMLRewrite.cpp
index b886bec..bb4ae86 100644
--- a/clang/lib/Rewrite/HTMLRewrite.cpp
+++ b/clang/lib/Rewrite/HTMLRewrite.cpp
@@ -46,6 +46,32 @@
}
}
+std::string html::EscapeText(const std::string& s, bool EscapeSpaces) {
+
+ unsigned len = s.size();
+ std::ostringstream os;
+
+ for (unsigned i = 0 ; i < len; ++i) {
+
+ char c = s[i];
+
+ switch (c) {
+ default:
+ os << c; break;
+
+ case ' ':
+ if (EscapeSpaces) os << " ";
+ break;
+
+ case '<': os << "<"; break;
+ case '>': os << ">"; break;
+ case '&': os << "&"; break;
+ }
+ }
+
+ return os.str();
+}
+
static void AddLineNumber(Rewriter& R, unsigned LineNo,
SourceLocation B, SourceLocation E) {