summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-08-19 18:30:37 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-08-19 18:30:37 +0000
commit7e37c818f9f77608c602ffb32c1135e3cd0132a8 (patch)
tree51939486a5ded5caa0bd0d1c7364216cdd275334
parenteb7e9c39f3b8ac815a78003992f2c2c662c0ab52 (diff)
Use raw_svector_ostream for string concatenation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79444 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Rewrite/HTMLRewrite.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/Rewrite/HTMLRewrite.cpp b/lib/Rewrite/HTMLRewrite.cpp
index bc29431dc3..68edda222b 100644
--- a/lib/Rewrite/HTMLRewrite.cpp
+++ b/lib/Rewrite/HTMLRewrite.cpp
@@ -202,17 +202,19 @@ std::string html::EscapeText(const std::string& s, bool EscapeSpaces,
static void AddLineNumber(RewriteBuffer &RB, unsigned LineNo,
unsigned B, unsigned E) {
- llvm::SmallString<100> Str;
- Str += "<tr><td class=\"num\" id=\"LN";
- Str.append_uint(LineNo);
- Str += "\">";
- Str.append_uint(LineNo);
- Str += "</td><td class=\"line\">";
+ llvm::SmallString<256> Str;
+ llvm::raw_svector_ostream OS(Str);
+
+ OS << "<tr><td class=\"num\" id=\"LN"
+ << LineNo << "\">"
+ << LineNo << "</td><td class=\"line\">";
if (B == E) { // Handle empty lines.
- Str += " </td></tr>";
+ OS << " </td></tr>";
+ OS.flush();
RB.InsertTextBefore(B, &Str[0], Str.size());
} else {
+ OS.flush();
RB.InsertTextBefore(B, &Str[0], Str.size());
RB.InsertTextBefore(E, "</td></tr>", strlen("</td></tr>"));
}