summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2018-10-27 13:00:26 (GMT)
committeralbert-github <albert.tests@gmail.com>2018-10-27 13:00:26 (GMT)
commit2e072c9e3cbc748ac2cdf6453c16d95cbfabf9d7 (patch)
tree5adc0b203d3e0d61b3d5885f7a393a191ce0c8a6 /src
parent985ca18d4f6a9d41001a18ff6b007831bd740173 (diff)
downloadDoxygen-2e072c9e3cbc748ac2cdf6453c16d95cbfabf9d7.zip
Doxygen-2e072c9e3cbc748ac2cdf6453c16d95cbfabf9d7.tar.gz
Doxygen-2e072c9e3cbc748ac2cdf6453c16d95cbfabf9d7.tar.bz2
Multiple addindex commands in HTML with same name
It is possible to specify an addindex multiple times. In HTML this resulted in - a 'a' tag with with the same 'name' attribute - in CHM only one occurrence was shown. this has been corrected. (see e.g. the index of 'flex' in the CHM manual generated ffrom master).
Diffstat (limited to 'src')
-rw-r--r--src/htmldocvisitor.cpp5
-rw-r--r--src/htmlhelp.cpp6
2 files changed, 8 insertions, 3 deletions
diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp
index 6e0c62d..5f0e411 100644
--- a/src/htmldocvisitor.cpp
+++ b/src/htmldocvisitor.cpp
@@ -67,7 +67,12 @@ static const char *contexts[10] =
static QCString convertIndexWordToAnchor(const QString &word)
{
static char hex[] = "0123456789abcdef";
+ static int cnt = 0;
QCString result="a";
+ QCString cntStr;
+ result += cntStr.setNum(cnt);
+ result += "_";
+ cnt++;
const char *str = word.data();
unsigned char c;
if (str)
diff --git a/src/htmlhelp.cpp b/src/htmlhelp.cpp
index ad56de8..3ed3d64 100644
--- a/src/htmlhelp.cpp
+++ b/src/htmlhelp.cpp
@@ -115,7 +115,7 @@ void HtmlHelpIndex::addItem(const char *level1,const char *level2,
{
return;
}
- if (dict->find(key)==0) // new key
+ if (dict->find(key+anchor)==0) // new key
{
//printf(">>>>>>>>> HtmlHelpIndex::addItem(%s,%s,%s,%s)\n",
// level1,level2,url,anchor);
@@ -125,7 +125,7 @@ void HtmlHelpIndex::addItem(const char *level1,const char *level2,
f->anchor = anchor;
f->link = hasLink;
f->reversed = reversed;
- dict->append(key,f);
+ dict->append(key+anchor,f);
}
}
@@ -187,7 +187,7 @@ void HtmlHelpIndex::writeFields(FTextStream &t)
level1 = f->name.copy();
}
- if (level1!=lastLevel1)
+ //if (level1!=lastLevel1)
{ // finish old list at level 2
if (level2Started) t << " </UL>" << endl;
level2Started=FALSE;