From: Ted Kremenek Date: Mon, 31 Mar 2008 21:40:14 +0000 (+0000) Subject: When emitting HTML messages, take into account margin fusing due to tabs. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2aa13b5cb0e055774c98cd58d1e40e3ea11481d5;p=clang When emitting HTML messages, take into account margin fusing due to tabs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48998 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/Driver/HTMLDiagnostics.cpp b/Driver/HTMLDiagnostics.cpp index a4736950f3..df2bb06636 100644 --- a/Driver/HTMLDiagnostics.cpp +++ b/Driver/HTMLDiagnostics.cpp @@ -200,13 +200,20 @@ void HTMLDiagnostics::HandlePiece(Rewriter& R, const char *TokLogicalPtr = LPos.getCharacterData(); const char *LineStart = TokLogicalPtr-ColNo; + // Compute the margin offset by counting tabs and non-tabs. + + unsigned PosNo = 0; + + for (const char* c = LineStart; c != TokLogicalPtr; ++c) + PosNo += *c == '\t' ? 8 : 1; + // Create the html for the message. std::ostringstream os; os << "\n" << "
"; + << PosNo << "ex\">"; os << html::EscapeText(P.getString()) << "
";