diff options
Diffstat (limited to 'clang/lib/Rewrite/HTMLRewrite.cpp')
-rw-r--r-- | clang/lib/Rewrite/HTMLRewrite.cpp | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/clang/lib/Rewrite/HTMLRewrite.cpp b/clang/lib/Rewrite/HTMLRewrite.cpp index 68edda222b2..a17dde8254c 100644 --- a/clang/lib/Rewrite/HTMLRewrite.cpp +++ b/clang/lib/Rewrite/HTMLRewrite.cpp @@ -53,8 +53,8 @@ void html::HighlightRange(RewriteBuffer &RB, unsigned B, unsigned E, const char *BufferStart, const char *StartTag, const char *EndTag) { // Insert the tag at the absolute start/end of the range. - RB.InsertTextAfter(B, StartTag, strlen(StartTag)); - RB.InsertTextBefore(E, EndTag, strlen(EndTag)); + RB.InsertTextAfter(B, StartTag); + RB.InsertTextBefore(E, EndTag); // Scan the range to see if there is a \r or \n. If so, and if the line is // not blank, insert tags on that line as well. @@ -68,7 +68,7 @@ void html::HighlightRange(RewriteBuffer &RB, unsigned B, unsigned E, // Okay, we found a newline in the range. If we have an open tag, we need // to insert a close tag at the first non-whitespace before the newline. if (HadOpenTag) - RB.InsertTextBefore(LastNonWhiteSpace+1, EndTag, strlen(EndTag)); + RB.InsertTextBefore(LastNonWhiteSpace+1, EndTag); // Instead of inserting an open tag immediately after the newline, we // wait until we see a non-whitespace character. This prevents us from @@ -87,7 +87,7 @@ void html::HighlightRange(RewriteBuffer &RB, unsigned B, unsigned E, default: // If there is no tag open, do it now. if (!HadOpenTag) { - RB.InsertTextAfter(i, StartTag, strlen(StartTag)); + RB.InsertTextAfter(i, StartTag); HadOpenTag = true; } @@ -120,11 +120,11 @@ void html::EscapeText(Rewriter &R, FileID FID, case ' ': if (EscapeSpaces) - RB.ReplaceText(FilePos, 1, " ", 6); + RB.ReplaceText(FilePos, 1, " "); ++ColNo; break; case '\f': - RB.ReplaceText(FilePos, 1, "<hr>", 4); + RB.ReplaceText(FilePos, 1, "<hr>"); ColNo = 0; break; @@ -133,25 +133,26 @@ void html::EscapeText(Rewriter &R, FileID FID, break; unsigned NumSpaces = 8-(ColNo&7); if (EscapeSpaces) - RB.ReplaceText(FilePos, 1, " " - " ", 6*NumSpaces); + RB.ReplaceText(FilePos, 1, + llvm::StringRef(" " + " ", 6*NumSpaces)); else - RB.ReplaceText(FilePos, 1, " ", NumSpaces); + RB.ReplaceText(FilePos, 1, llvm::StringRef(" ", NumSpaces)); ColNo += NumSpaces; break; } case '<': - RB.ReplaceText(FilePos, 1, "<", 4); + RB.ReplaceText(FilePos, 1, "<"); ++ColNo; break; case '>': - RB.ReplaceText(FilePos, 1, ">", 4); + RB.ReplaceText(FilePos, 1, ">"); ++ColNo; break; case '&': - RB.ReplaceText(FilePos, 1, "&", 5); + RB.ReplaceText(FilePos, 1, "&"); ++ColNo; break; } @@ -211,12 +212,10 @@ static void AddLineNumber(RewriteBuffer &RB, unsigned LineNo, if (B == E) { // Handle empty lines. OS << " </td></tr>"; - OS.flush(); - RB.InsertTextBefore(B, &Str[0], Str.size()); + RB.InsertTextBefore(B, OS.str()); } else { - OS.flush(); - RB.InsertTextBefore(B, &Str[0], Str.size()); - RB.InsertTextBefore(E, "</td></tr>", strlen("</td></tr>")); + RB.InsertTextBefore(B, OS.str()); + RB.InsertTextBefore(E, "</td></tr>"); } } @@ -260,10 +259,8 @@ void html::AddLineNumbers(Rewriter& R, FileID FID) { } // Add one big table tag that surrounds all of the code. - RB.InsertTextBefore(0, "<table class=\"code\">\n", - strlen("<table class=\"code\">\n")); - - RB.InsertTextAfter(FileEnd - FileBeg, "</table>", strlen("</table>")); + RB.InsertTextBefore(0, "<table class=\"code\">\n"); + RB.InsertTextAfter(FileEnd - FileBeg, "</table>"); } void html::AddHeaderFooterInternalBuiltinCSS(Rewriter& R, FileID FID, |