summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2019-12-18 09:52:08 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2019-12-18 09:52:08 (GMT)
commitf869e377f29c66bebeda45cf0597a8a982e84fcb (patch)
tree2888fdce339b2465fc0611d29eb71085d07eefe7
parent5260651e7e3c5a2a788b2de752028899b5e10c7f (diff)
parent7d920a52163162f98c456e051454b9d766e56e69 (diff)
downloadDoxygen-f869e377f29c66bebeda45cf0597a8a982e84fcb.zip
Doxygen-f869e377f29c66bebeda45cf0597a8a982e84fcb.tar.gz
Doxygen-f869e377f29c66bebeda45cf0597a8a982e84fcb.tar.bz2
Merge branch 'albert-github-feature/bug_unsupported_html'
-rw-r--r--src/docparser.cpp2
-rw-r--r--src/doctokenizer.h1
-rw-r--r--src/doctokenizer.l8
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)