Commit 22eb9881 authored by dimitri's avatar dimitri

Release-1.4.5

parent 22dc10cf
DOXYGEN Version 1.4.4-20050927
DOXYGEN Version 1.4.5
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (27 September 2005)
Dimitri van Heesch (04 October 2005)
DOXYGEN Version 1.4.4_20050927
DOXYGEN Version 1.4.5
Please read INSTALL for compilation instructions.
......@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (27 September 2005)
Dimitri van Heesch (dimitri@stack.nl) (04 October 2005)
1.4.4-20050927
1.4.5
......@@ -165,8 +165,9 @@ static QCString findAndCopyImage(const char *fileName,DocImage::Type type)
int i;
if ((i=result.findRev('/'))!=-1 || (i=result.findRev('\\'))!=-1)
{
result.right(result.length()-i-1);
result = result.right(result.length()-i-1);
}
//printf("fileName=%s result=%s\n",fileName,result.data());
QCString outputDir;
switch(type)
{
......
......@@ -1736,9 +1736,10 @@ static MemberDef *addVariableToFile(
// see if the function is inside a namespace
NamespaceDef *nd = 0;
QCString nscope;
if (!scope.isEmpty())
{
QCString nscope=removeAnonymousScopes(scope);
nscope=removeAnonymousScopes(scope);
if (!nscope.isEmpty())
{
nd = getResolvedNamespace(nscope);
......@@ -1784,12 +1785,12 @@ static MemberDef *addVariableToFile(
MemberName *mn=Doxygen::functionNameSDict[name];
if (mn)
{
QCString nscope=removeAnonymousScopes(scope);
NamespaceDef *nd=0;
if (!nscope.isEmpty())
{
nd = getResolvedNamespace(nscope);
}
//QCString nscope=removeAnonymousScopes(scope);
//NamespaceDef *nd=0;
//if (!nscope.isEmpty())
//{
// nd = getResolvedNamespace(nscope);
//}
MemberNameIterator mni(*mn);
MemberDef *md;
for (mni.toFirst();(md=mni.current());++mni)
......@@ -2141,7 +2142,8 @@ static void buildVarList(Entry *root)
scope=root->relates.copy();
}
if (!scope.isEmpty() && !name.isEmpty() && (cd=getClass(scope)))
// note: changed from scope to classScope on 2-10-2005
if (!classScope.isEmpty() && !name.isEmpty() && (cd=getClass(classScope)))
{
MemberDef *md=0;
......@@ -4892,8 +4894,6 @@ static void findMember(Entry *root,
}
if (matching)
{
//printf("addMemberDocs root->inLine=%d md->isInline()=%d\n",
// root->inLine,md->isInline());
addMemberDocs(root,md,funcDecl,0,overloaded,0/* TODO */);
count++;
memFound=TRUE;
......@@ -5762,7 +5762,7 @@ static void findEnumDocumentation(Entry *root)
for (mni.toFirst();(md=mni.current()) && !found;++mni)
{
ClassDef *cd=md->getClassDef();
if (cd && cd->name()==className)
if (cd && cd->name()==className && md->isEnumerate())
{
// documentation outside a compound overrides the documentation inside it
if (!md->documentation() || root->parent->name.isEmpty())
......@@ -5808,24 +5808,31 @@ static void findEnumDocumentation(Entry *root)
else // enum outside class
{
//printf("Enum outside class: %s grpId=%d\n",name.data(),root->mGrpId);
MemberDef *md;
MemberName *mn=Doxygen::functionNameSDict[name];
if (mn && (md=mn->getFirst()))
if (mn)
{
md->setDocumentation(root->doc,root->docFile,root->docLine);
md->setDocsForDefinition(!root->proto);
md->setBriefDescription(root->brief,root->briefFile,root->briefLine);
md->setInbodyDocumentation(root->inbodyDocs,root->inbodyFile,root->inbodyLine);
md->addSectionsToDefinition(root->anchors);
md->setMemberGroupId(root->mGrpId);
GroupDef *gd=md->getGroupDef();
if (gd==0 &&root->groups->first()!=0) // member not grouped but out-of-line documentation is
MemberNameIterator mni(*mn);
MemberDef *md;
for (mni.toFirst();(md=mni.current()) && !found;++mni)
{
addMemberToGroups(root,md);
if (md->isEnumerate())
{
md->setDocumentation(root->doc,root->docFile,root->docLine);
md->setDocsForDefinition(!root->proto);
md->setBriefDescription(root->brief,root->briefFile,root->briefLine);
md->setInbodyDocumentation(root->inbodyDocs,root->inbodyFile,root->inbodyLine);
md->addSectionsToDefinition(root->anchors);
md->setMemberGroupId(root->mGrpId);
GroupDef *gd=md->getGroupDef();
if (gd==0 &&root->groups->first()!=0) // member not grouped but out-of-line documentation is
{
addMemberToGroups(root,md);
}
found=TRUE;
}
}
found=TRUE;
}
}
if (!found)
......
......@@ -1105,9 +1105,10 @@ void writeAnnotatedClassList(OutputList &ol)
ClassDef *cd;
// clear index
for (int y=0;y<CHL_Total;y++)
int x,y;
for (y=0;y<CHL_Total;y++)
{
for (int x=0;x<256;x++)
for (x=0;x<256;x++)
{
g_classIndexLetterUsed[y][x]=FALSE;
}
......@@ -1230,7 +1231,8 @@ void writeAlphabeticalClassList(OutputList &ol)
}
QCString alphaLinks = "<p><div class=\"qindex\">";
for (int l = 0; l < 256; l++)
int l;
for (l = 0; l < 256; l++)
{
if (indexLetterUsed[l])
{
......@@ -1287,7 +1289,7 @@ void writeAlphabeticalClassList(OutputList &ol)
int col=0,row=0;
//int icount=0;
startLetter=0;
for (int l = 0; l < 256; l++)
for (l = 0; l < 256; l++)
{
if (!indexLetterUsed[l]) continue;
......@@ -1303,7 +1305,8 @@ void writeAlphabeticalClassList(OutputList &ol)
col++;
row=0;
}
for (uint i = 0; i < classesByLetter[l].count(); i++)
uint i;
for (i = 0; i < classesByLetter[l].count(); i++)
{
// add the class definition to the correct column list
colList[col].append (classesByLetter[l].at (i));
......
......@@ -17,6 +17,7 @@
#include <stdio.h>
#include <qregexp.h>
#include <md5.h>
#include "memberdef.h"
#include "membername.h"
#include "doxygen.h"
......@@ -2007,6 +2008,7 @@ QCString MemberDef::getScopeString() const
return result;
}
#if 0
static QCString escapeAnchor(const QCString &anchor)
{
QCString result;
......@@ -2029,6 +2031,7 @@ static QCString escapeAnchor(const QCString &anchor)
}
return result;
}
#endif
void MemberDef::setAnchor(const char *a)
{
......@@ -2036,7 +2039,14 @@ void MemberDef::setAnchor(const char *a)
a=a;
QCString memAnchor = name();
if (!args.isEmpty()) memAnchor+=args;
anc = escapeAnchor(memAnchor);
//anc = escapeAnchor(memAnchor);
// convert to md5 hash
uchar md5_sig[16];
QCString sigStr(33);
MD5Buffer((const unsigned char *)memAnchor.data(),memAnchor.length(),md5_sig);
MD5SigToString(md5_sig,sigStr.data(),33);
anc = sigStr;
}
void MemberDef::setGroupDef(GroupDef *gd,Grouping::GroupPri_t pri,
......
......@@ -302,7 +302,7 @@ function main()
if (!in_array($word,$foundWords))
{
$foundWords[]=$word;
search($file,$word,$results);
search($file,strtolower($word),$results);
}
$word=strtok(" ");
}
......
......@@ -302,7 +302,7 @@
" if (!in_array($word,$foundWords))\n"
" {\n"
" $foundWords[]=$word;\n"
" search($file,$word,$results);\n"
" search($file,strtolower($word),$results);\n"
" }\n"
" $word=strtok(\" \");\n"
" }\n"
......
......@@ -105,8 +105,8 @@ void SearchIndex::addWord(const char *word,bool hiPriority)
//printf("SearchIndex::addWord(%s,%d)\n",word,hiPriority);
//QString wStr=QString(word).lower();
QString wStr(word);
wStr=wStr.lower();
if (wStr.isEmpty()) return;
wStr=wStr.lower();
IndexWord *w = m_words[wStr];
if (w==0)
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment