summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2019-08-10 15:33:33 (GMT)
committeralbert-github <albert.tests@gmail.com>2019-08-10 15:33:33 (GMT)
commit3f553a8e4266b24a67e5c7302ee81e1d5e648748 (patch)
tree37223ebb75231a61982f4b6bb5ae5dfd8120c468 /src
parent0fb18c7e1b38ed78591cf129453c6c4718520624 (diff)
downloadDoxygen-3f553a8e4266b24a67e5c7302ee81e1d5e648748.zip
Doxygen-3f553a8e4266b24a67e5c7302ee81e1d5e648748.tar.gz
Doxygen-3f553a8e4266b24a67e5c7302ee81e1d5e648748.tar.bz2
Problem with '<td nowrap>'
In the docbook ouput this was shown with the attribute `nowrap>=''`, in HTML this empty tag was skipped. Normally a HTML attribute will have a value but in some cases it is possible without attribute and when this is the last attribute the `>` was accidently added to the attribute (in case of the value the `>` was already considered). Furthermore `In XHTML, attribute minimization is forbidden, and the nowrap attribute must be defined as <td nowrap="nowrap">.`, this is now handled for HTML and docbook as well.
Diffstat (limited to 'src')
-rw-r--r--src/docbookvisitor.cpp4
-rw-r--r--src/doctokenizer.l2
-rw-r--r--src/htmldocvisitor.cpp6
3 files changed, 11 insertions, 1 deletions
diff --git a/src/docbookvisitor.cpp b/src/docbookvisitor.cpp
index a42a895..ce3a845 100644
--- a/src/docbookvisitor.cpp
+++ b/src/docbookvisitor.cpp
@@ -1105,6 +1105,10 @@ DB_VIS_C
{
// just skip it
}
+ else if (opt->name=="nowrap" && opt->value.isEmpty())
+ {
+ m_t << " " << opt->name << "='nowrap'";
+ }
else
{
m_t << " " << opt->name << "='" << opt->value << "'";
diff --git a/src/doctokenizer.l b/src/doctokenizer.l
index 194327c..79c7d0e 100644
--- a/src/doctokenizer.l
+++ b/src/doctokenizer.l
@@ -222,7 +222,7 @@ static void handleHtmlTag()
}
startName=i;
// search for end of name
- while (i<(int)yyleng && !isspace((uchar)c) && c!='=') { c=tagText.at(++i); }
+ while (i<(int)yyleng && !isspace((uchar)c) && c!='=' && c!= '>') { c=tagText.at(++i); }
endName=i;
HtmlAttrib opt;
opt.name = tagText.mid(startName,endName-startName).lower();
diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp
index e1ff3e9..c7fcaf8 100644
--- a/src/htmldocvisitor.cpp
+++ b/src/htmldocvisitor.cpp
@@ -263,6 +263,12 @@ static QCString htmlAttribsToString(const HtmlAttribList &attribs, QCString *pAl
result+="=\""+convertToXML(att->value)+"\"";
}
}
+ else if (att->name=="nowrap") // In XHTML, attribute minimization is forbidden, and the nowrap attribute must be defined as <td nowrap="nowrap">.
+ {
+ result+=" ";
+ result+=att->name;
+ result+="=\"nowrap\"";
+ }
}
return result;
}