diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2019-12-18 09:52:08 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2019-12-18 09:52:08 (GMT) |
commit | f869e377f29c66bebeda45cf0597a8a982e84fcb (patch) | |
tree | 2888fdce339b2465fc0611d29eb71085d07eefe7 /src | |
parent | 5260651e7e3c5a2a788b2de752028899b5e10c7f (diff) | |
parent | 7d920a52163162f98c456e051454b9d766e56e69 (diff) | |
download | Doxygen-f869e377f29c66bebeda45cf0597a8a982e84fcb.zip Doxygen-f869e377f29c66bebeda45cf0597a8a982e84fcb.tar.gz Doxygen-f869e377f29c66bebeda45cf0597a8a982e84fcb.tar.bz2 |
Merge branch 'albert-github-feature/bug_unsupported_html'
Diffstat (limited to 'src')
-rw-r--r-- | src/docparser.cpp | 2 | ||||
-rw-r--r-- | src/doctokenizer.h | 1 | ||||
-rw-r--r-- | src/doctokenizer.l | 8 |
3 files changed, 7 insertions, 4 deletions
diff --git a/src/docparser.cpp b/src/docparser.cpp index b1e2486..f4160ef 100644 --- a/src/docparser.cpp +++ b/src/docparser.cpp @@ -6292,7 +6292,7 @@ int DocPara::handleHtmlStartTag(const QCString &tagName,const HtmlAttribList &ta break; case HTML_UNKNOWN: warn_doc_error(g_fileName,doctokenizerYYlineno,"Unsupported xml/html tag <%s> found", qPrint(tagName)); - m_children.append(new DocWord(this, "<"+tagName+tagHtmlAttribs.toString()+">")); + m_children.append(new DocWord(this, "<"+tagName+g_token->attribsStr+">")); break; case XML_INHERITDOC: handleInheritDoc(); diff --git a/src/doctokenizer.h b/src/doctokenizer.h index badf23e..e01f045 100644 --- a/src/doctokenizer.h +++ b/src/doctokenizer.h @@ -100,6 +100,7 @@ struct TokenInfo HtmlAttribList attribs; bool endTag = false; bool emptyTag = false; + QCString attribsStr; // whitespace QCString chars; diff --git a/src/doctokenizer.l b/src/doctokenizer.l index a527672..640df34 100644 --- a/src/doctokenizer.l +++ b/src/doctokenizer.l @@ -203,6 +203,7 @@ static void handleHtmlTag() // Parse the attributes. Each attribute is a name, value pair // The result is stored in g_token->attribs. int startName,endName,startAttrib,endAttrib; + int startAttribList = i; while (i<(int)yyleng) { char c=tagText.at(i); @@ -237,7 +238,7 @@ static void handleHtmlTag() // search for matching quote while (i<(int)yyleng && c!='\'') { c=tagText.at(++i); } endAttrib=i; - if (i<(int)yyleng) c=tagText.at(++i); + if (i<(int)yyleng) { c=tagText.at(++i);} } else if (tagText.at(i)=='"') // option "..." { @@ -246,7 +247,7 @@ static void handleHtmlTag() // search for matching quote while (i<(int)yyleng && c!='"') { c=tagText.at(++i); } endAttrib=i; - if (i<(int)yyleng) c=tagText.at(++i); + if (i<(int)yyleng) { c=tagText.at(++i);} } else // value without any quotes { @@ -254,7 +255,7 @@ static void handleHtmlTag() // search for separator or end symbol while (i<(int)yyleng && !isspace((uchar)c) && c!='>') { c=tagText.at(++i); } endAttrib=i; - if (i<(int)yyleng) c=tagText.at(++i); + if (i<(int)yyleng) { c=tagText.at(++i);} } opt.value = tagText.mid(startAttrib,endAttrib-startAttrib); if (opt.name == "align") opt.value = opt.value.lower(); @@ -271,6 +272,7 @@ static void handleHtmlTag() // opt.name.data(),opt.value.data()); g_token->attribs.append(&opt); } + g_token->attribsStr = tagText.mid(startAttribList,i-startAttribList); } static QCString stripEmptyLines(const QCString &s) |