- update to 1.8.17
- fixes test suite is failing - fixes broken urls in the xml output
This commit is contained in:
parent
7d44dfcd92
commit
d1c4879feb
1
.gitignore
vendored
1
.gitignore
vendored
@ -49,3 +49,4 @@ doxygen-1.7.1.src.tar.gz
|
|||||||
/doxygen-1.8.14.src.tar.gz
|
/doxygen-1.8.14.src.tar.gz
|
||||||
/doxygen-1.8.15.src.tar.gz
|
/doxygen-1.8.15.src.tar.gz
|
||||||
/doxygen-1.8.16.src.tar.gz
|
/doxygen-1.8.16.src.tar.gz
|
||||||
|
/doxygen-1.8.17.src.tar.gz
|
||||||
|
102
doxgen-1.8.17-broken-urls-in-the-xml-output.patch
Normal file
102
doxgen-1.8.17-broken-urls-in-the-xml-output.patch
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
commit 2f79c6938c6d969f3d4ebc9ed0f2648668434502
|
||||||
|
Author: albert-github <albert.tests@gmail.com>
|
||||||
|
Date: Sat Jan 4 13:24:16 2020 +0100
|
||||||
|
|
||||||
|
issue #7477 Broken urls in the xml output
|
||||||
|
|
||||||
|
Made code analogous to HTML code.
|
||||||
|
Also the doxygen internal tests suffered from this problem.
|
||||||
|
|
||||||
|
diff --git a/src/xmldocvisitor.cpp b/src/xmldocvisitor.cpp
|
||||||
|
index 409c2fe6..1e6becbe 100644
|
||||||
|
--- a/src/xmldocvisitor.cpp
|
||||||
|
+++ b/src/xmldocvisitor.cpp
|
||||||
|
@@ -824,18 +824,22 @@ void XmlDocVisitor::visitPre(DocImage *img)
|
||||||
|
{
|
||||||
|
if (m_hide) return;
|
||||||
|
|
||||||
|
- QCString baseName=img->name();
|
||||||
|
- int i;
|
||||||
|
- if ((i=baseName.findRev('/'))!=-1 || (i=baseName.findRev('\\'))!=-1)
|
||||||
|
+ QCString url = img->url();
|
||||||
|
+ QCString baseName;
|
||||||
|
+ if (url.isEmpty())
|
||||||
|
{
|
||||||
|
- baseName=baseName.right(baseName.length()-i-1);
|
||||||
|
+ baseName = img->relPath()+img->name();
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ baseName = correctURL(url,img->relPath());
|
||||||
|
}
|
||||||
|
visitPreStart(m_t, "image", FALSE, this, img->children(), baseName, TRUE, img->type(), img->width(), img->height(), img ->isInlineImage());
|
||||||
|
|
||||||
|
// copy the image to the output dir
|
||||||
|
FileDef *fd;
|
||||||
|
bool ambig;
|
||||||
|
- if ((fd=findFileDef(Doxygen::imageNameDict,img->name(),ambig)))
|
||||||
|
+ if (url.isEmpty() && (fd=findFileDef(Doxygen::imageNameDict,img->name(),ambig)))
|
||||||
|
{
|
||||||
|
QFile inImage(fd->absFilePath());
|
||||||
|
QFile outImage(Config_getString(XML_OUTPUT)+"/"+baseName.data());
|
||||||
|
diff --git a/testing/031/indexpage.xml b/testing/031/indexpage.xml
|
||||||
|
index 2d74510a..eaf374b6 100644
|
||||||
|
--- a/testing/031/indexpage.xml
|
||||||
|
+++ b/testing/031/indexpage.xml
|
||||||
|
@@ -11,42 +11,42 @@
|
||||||
|
<image type="docbook" name="sample.png"/>
|
||||||
|
More text.</para>
|
||||||
|
<para>SVG image with caption:<linebreak/>
|
||||||
|
-<image type="html" name="license-MIT-brightgreen.svg">A caption</image>
|
||||||
|
+<image type="html" name="http://img.shields.io/badge/license-MIT-brightgreen.svg">A caption</image>
|
||||||
|
</para>
|
||||||
|
<para>PNG image with caption:<linebreak/>
|
||||||
|
-<image type="html" name="license-MIT-brightgreen.png">A caption</image>
|
||||||
|
+<image type="html" name="http://img.shields.io/badge/license-MIT-brightgreen.png">A caption</image>
|
||||||
|
</para>
|
||||||
|
<para>SVG image without caption:<linebreak/>
|
||||||
|
-<image type="html" name="license-MIT-brightgreen.svg"/>
|
||||||
|
+<image type="html" name="http://img.shields.io/badge/license-MIT-brightgreen.svg"/>
|
||||||
|
</para>
|
||||||
|
<para>PNG image without caption:<linebreak/>
|
||||||
|
-<image type="html" name="license-MIT-brightgreen.png"/>
|
||||||
|
+<image type="html" name="http://img.shields.io/badge/license-MIT-brightgreen.png"/>
|
||||||
|
</para>
|
||||||
|
<para>Inline SVG image with caption:<linebreak/>
|
||||||
|
-This image is inline <image type="html" name="license-MIT-brightgreen.svg" inline="yes">MIT license</image>
|
||||||
|
+This image is inline <image type="html" name="http://img.shields.io/badge/license-MIT-brightgreen.svg" inline="yes">MIT license</image>
|
||||||
|
within the text.</para>
|
||||||
|
<para>Inline PNG image with caption:<linebreak/>
|
||||||
|
-This image is inline <image type="html" name="license-MIT-brightgreen.png" inline="yes">MIT license</image>
|
||||||
|
+This image is inline <image type="html" name="http://img.shields.io/badge/license-MIT-brightgreen.png" inline="yes">MIT license</image>
|
||||||
|
within the text.</para>
|
||||||
|
<para>Markdown style linked SVG image:<linebreak/>
|
||||||
|
-<ulink url="http://opensource.org/licenses/MIT"><image type="html" name="license-MIT-brightgreen.svg" inline="yes"/></ulink></para>
|
||||||
|
+<ulink url="http://opensource.org/licenses/MIT"><image type="html" name="http://img.shields.io/badge/license-MIT-brightgreen.svg" inline="yes"/></ulink></para>
|
||||||
|
<para>Markdown style linked PNG image:<linebreak/>
|
||||||
|
-<ulink url="http://opensource.org/licenses/MIT"><image type="html" name="license-MIT-brightgreen.png" inline="yes"/></ulink></para>
|
||||||
|
+<ulink url="http://opensource.org/licenses/MIT"><image type="html" name="http://img.shields.io/badge/license-MIT-brightgreen.png" inline="yes"/></ulink></para>
|
||||||
|
<para>HTML style linked SVG image:<linebreak/>
|
||||||
|
-<ulink url="http://opensource.org/licenses/MIT"><image type="html" name="license-MIT-brightgreen.svg" inline="yes"/></ulink></para>
|
||||||
|
+<ulink url="http://opensource.org/licenses/MIT"><image type="html" name="http://img.shields.io/badge/license-MIT-brightgreen.svg" inline="yes"/></ulink></para>
|
||||||
|
<para>HTML style linked PNG image:<linebreak/>
|
||||||
|
-<ulink url="http://opensource.org/licenses/MIT"><image type="html" name="license-MIT-brightgreen.png" inline="yes"/></ulink></para>
|
||||||
|
+<ulink url="http://opensource.org/licenses/MIT"><image type="html" name="http://img.shields.io/badge/license-MIT-brightgreen.png" inline="yes"/></ulink></para>
|
||||||
|
<para>HTML style unlinked SVG image:<linebreak/>
|
||||||
|
-<image type="html" name="license-MIT-brightgreen.svg" inline="yes"/>
|
||||||
|
+<image type="html" name="http://img.shields.io/badge/license-MIT-brightgreen.svg" inline="yes"/>
|
||||||
|
</para>
|
||||||
|
<para>HTML style unlinked PNG image:<linebreak/>
|
||||||
|
-<image type="html" name="license-MIT-brightgreen.png" inline="yes"/>
|
||||||
|
+<image type="html" name="http://img.shields.io/badge/license-MIT-brightgreen.png" inline="yes"/>
|
||||||
|
</para>
|
||||||
|
<para>Some markdown image tests<linebreak/>
|
||||||
|
-<image type="html" name="docs-Doxygen-blue.svg?foo&bar" inline="yes"/>
|
||||||
|
+<image type="html" name="https://img.shields.io/badge/docs-Doxygen-blue.svg?foo&bar" inline="yes"/>
|
||||||
|
<ulink url="http://www.doxygen.nl?foo&bar">Some normal link</ulink></para>
|
||||||
|
<para>
|
||||||
|
- <image type="html" name="docs-Doxygen-blue.svg?foo&bar" inline="yes"/>
|
||||||
|
+ <image type="html" name="https://img.shields.io/badge/docs-Doxygen-blue.svg?foo&bar" inline="yes"/>
|
||||||
|
<ulink url="http://www.doxygen.nl?foo&bar">Some normal link</ulink>
|
||||||
|
</para>
|
||||||
|
</detaileddescription>
|
@ -1,36 +0,0 @@
|
|||||||
diff -up doxygen-1.8.16/src/tagreader.cpp.me doxygen-1.8.16/src/tagreader.cpp
|
|
||||||
--- doxygen-1.8.16/src/tagreader.cpp.me 2019-09-16 20:47:16.428896400 +0200
|
|
||||||
+++ doxygen-1.8.16/src/tagreader.cpp 2019-09-16 20:48:53.426648016 +0200
|
|
||||||
@@ -494,6 +494,23 @@ class TagFileParser : public QXmlDefault
|
|
||||||
|
|
||||||
void endDocAnchor()
|
|
||||||
{
|
|
||||||
+ // Check whether or not the tag is automatically generate, in that case ignore the tag.
|
|
||||||
+ switch(m_state)
|
|
||||||
+ {
|
|
||||||
+ case InClass:
|
|
||||||
+ case InFile:
|
|
||||||
+ case InNamespace:
|
|
||||||
+ case InGroup:
|
|
||||||
+ case InPage:
|
|
||||||
+ case InMember:
|
|
||||||
+ case InPackage:
|
|
||||||
+ case InDir:
|
|
||||||
+ if (QString(m_curString).startsWith("autotoc_md")) return;
|
|
||||||
+ break;
|
|
||||||
+ default:
|
|
||||||
+ warn("Unexpected tag 'docanchor' found");
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
switch(m_state)
|
|
||||||
{
|
|
||||||
case InClass: m_curClass->docAnchors.append(new TagAnchorInfo(m_fileName,m_curString,m_title)); break;
|
|
||||||
@@ -504,7 +521,7 @@ class TagFileParser : public QXmlDefault
|
|
||||||
case InMember: m_curMember->docAnchors.append(new TagAnchorInfo(m_fileName,m_curString,m_title)); break;
|
|
||||||
case InPackage: m_curPackage->docAnchors.append(new TagAnchorInfo(m_fileName,m_curString,m_title)); break;
|
|
||||||
case InDir: m_curDir->docAnchors.append(new TagAnchorInfo(m_fileName,m_curString,m_title)); break;
|
|
||||||
- default: warn("Unexpected tag 'docanchor' found"); break;
|
|
||||||
+ default: warn("Unexpected tag 'docanchor' found"); break; // Not really necessary anymore
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,724 +0,0 @@
|
|||||||
diff -up doxygen-1.8.16/addon/doxywizard/wizard.h.orig doxygen-1.8.16/addon/doxywizard/wizard.h
|
|
||||||
--- doxygen-1.8.16/addon/doxywizard/wizard.h.orig 2017-10-31 20:36:00.000000000 +0100
|
|
||||||
+++ doxygen-1.8.16/addon/doxywizard/wizard.h 2019-12-10 11:45:32.750260467 +0100
|
|
||||||
@@ -52,11 +52,11 @@ class TuneColorDialog : public QDialog
|
|
||||||
void updateImage(int hue,int sat,int val);
|
|
||||||
|
|
||||||
private:
|
|
||||||
- QImage *m_image;
|
|
||||||
- QLabel *m_imageLab;
|
|
||||||
- int m_hue;
|
|
||||||
- int m_sat;
|
|
||||||
- int m_gam;
|
|
||||||
+ QImage *m_image = 0;
|
|
||||||
+ QLabel *m_imageLab = 0;
|
|
||||||
+ int m_hue = 0;
|
|
||||||
+ int m_sat = 0;
|
|
||||||
+ int m_gam = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
class ColorPicker : public QWidget
|
|
||||||
@@ -91,11 +91,11 @@ private:
|
|
||||||
void setSat(int v);
|
|
||||||
void setGam(int v);
|
|
||||||
|
|
||||||
- QPixmap *m_pix;
|
|
||||||
- Mode m_mode;
|
|
||||||
- int m_gam;
|
|
||||||
- int m_hue;
|
|
||||||
- int m_sat;
|
|
||||||
+ QPixmap *m_pix = 0;
|
|
||||||
+ Mode m_mode = Hue;
|
|
||||||
+ int m_gam = 0;
|
|
||||||
+ int m_hue = 0;
|
|
||||||
+ int m_sat = 0;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -120,16 +120,16 @@ class Step1 : public QWidget
|
|
||||||
void setRecursiveScan(int);
|
|
||||||
|
|
||||||
private:
|
|
||||||
- QLineEdit *m_projName;
|
|
||||||
- QLineEdit *m_projBrief;
|
|
||||||
- QLineEdit *m_projNumber;
|
|
||||||
- QLineEdit *m_sourceDir;
|
|
||||||
- QLineEdit *m_destDir;
|
|
||||||
- QLabel *m_projIconLab;
|
|
||||||
- QCheckBox *m_recursive;
|
|
||||||
- QPushButton *m_srcSelectDir;
|
|
||||||
- QPushButton *m_dstSelectDir;
|
|
||||||
- Wizard *m_wizard;
|
|
||||||
+ QLineEdit *m_projName = 0;
|
|
||||||
+ QLineEdit *m_projBrief = 0;
|
|
||||||
+ QLineEdit *m_projNumber = 0;
|
|
||||||
+ QLineEdit *m_sourceDir = 0;
|
|
||||||
+ QLineEdit *m_destDir = 0;
|
|
||||||
+ QLabel *m_projIconLab = 0;
|
|
||||||
+ QCheckBox *m_recursive = 0;
|
|
||||||
+ QPushButton *m_srcSelectDir = 0;
|
|
||||||
+ QPushButton *m_dstSelectDir = 0;
|
|
||||||
+ Wizard *m_wizard = 0;
|
|
||||||
const QHash<QString,Input *> &m_modelData;
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -146,12 +146,12 @@ class Step2 : public QWidget
|
|
||||||
void changeCrossRefState(int choice);
|
|
||||||
|
|
||||||
private:
|
|
||||||
- QGroupBox *m_extractMode;
|
|
||||||
- QGroupBox *m_optimizeLang;
|
|
||||||
- QButtonGroup *m_extractModeGroup;
|
|
||||||
- QButtonGroup *m_optimizeLangGroup;
|
|
||||||
- QCheckBox *m_crossRef;
|
|
||||||
- Wizard *m_wizard;
|
|
||||||
+ QGroupBox *m_extractMode = 0;
|
|
||||||
+ QGroupBox *m_optimizeLang = 0;
|
|
||||||
+ QButtonGroup *m_extractModeGroup = 0;
|
|
||||||
+ QButtonGroup *m_optimizeLangGroup = 0;
|
|
||||||
+ QCheckBox *m_crossRef = 0;
|
|
||||||
+ Wizard *m_wizard = 0;
|
|
||||||
const QHash<QString,Input *> &m_modelData;
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -175,18 +175,18 @@ class Step3 : public QWidget
|
|
||||||
void tuneColorDialog();
|
|
||||||
|
|
||||||
private:
|
|
||||||
- QGroupBox *m_texOptions;
|
|
||||||
- QButtonGroup *m_texOptionsGroup;
|
|
||||||
- QGroupBox *m_htmlOptions;
|
|
||||||
- QButtonGroup *m_htmlOptionsGroup;
|
|
||||||
- QCheckBox *m_htmlEnabled;
|
|
||||||
- QCheckBox *m_latexEnabled;
|
|
||||||
- QCheckBox *m_manEnabled;
|
|
||||||
- QCheckBox *m_rtfEnabled;
|
|
||||||
- QCheckBox *m_xmlEnabled;
|
|
||||||
- QCheckBox *m_searchEnabled;
|
|
||||||
- QPushButton *m_tuneColor;
|
|
||||||
- Wizard *m_wizard;
|
|
||||||
+ QGroupBox *m_texOptions = 0;
|
|
||||||
+ QButtonGroup *m_texOptionsGroup = 0;
|
|
||||||
+ QGroupBox *m_htmlOptions = 0;
|
|
||||||
+ QButtonGroup *m_htmlOptionsGroup = 0;
|
|
||||||
+ QCheckBox *m_htmlEnabled = 0;
|
|
||||||
+ QCheckBox *m_latexEnabled = 0;
|
|
||||||
+ QCheckBox *m_manEnabled = 0;
|
|
||||||
+ QCheckBox *m_rtfEnabled = 0;
|
|
||||||
+ QCheckBox *m_xmlEnabled = 0;
|
|
||||||
+ QCheckBox *m_searchEnabled = 0;
|
|
||||||
+ QPushButton *m_tuneColor = 0;
|
|
||||||
+ Wizard *m_wizard = 0;
|
|
||||||
const QHash<QString,Input *> &m_modelData;
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -209,17 +209,17 @@ class Step4 : public QWidget
|
|
||||||
void setCallerGraphEnabled(int state);
|
|
||||||
|
|
||||||
private:
|
|
||||||
- QGroupBox *m_diagramMode;
|
|
||||||
- QButtonGroup *m_diagramModeGroup;
|
|
||||||
- QGroupBox *m_dotGroup;
|
|
||||||
- QCheckBox *m_dotClass;
|
|
||||||
- QCheckBox *m_dotCollaboration;
|
|
||||||
- QCheckBox *m_dotInclude;
|
|
||||||
- QCheckBox *m_dotIncludedBy;
|
|
||||||
- QCheckBox *m_dotInheritance;
|
|
||||||
- QCheckBox *m_dotCall;
|
|
||||||
- QCheckBox *m_dotCaller;
|
|
||||||
- Wizard *m_wizard;
|
|
||||||
+ QGroupBox *m_diagramMode = 0;
|
|
||||||
+ QButtonGroup *m_diagramModeGroup = 0;
|
|
||||||
+ QGroupBox *m_dotGroup = 0;
|
|
||||||
+ QCheckBox *m_dotClass = 0;
|
|
||||||
+ QCheckBox *m_dotCollaboration = 0;
|
|
||||||
+ QCheckBox *m_dotInclude = 0;
|
|
||||||
+ QCheckBox *m_dotIncludedBy = 0;
|
|
||||||
+ QCheckBox *m_dotInheritance = 0;
|
|
||||||
+ QCheckBox *m_dotCall = 0;
|
|
||||||
+ QCheckBox *m_dotCaller = 0;
|
|
||||||
+ Wizard *m_wizard = 0;
|
|
||||||
const QHash<QString,Input *> &m_modelData;
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -243,14 +243,14 @@ class Wizard : public QSplitter
|
|
||||||
|
|
||||||
private:
|
|
||||||
const QHash<QString,Input *> &m_modelData;
|
|
||||||
- QTreeWidget *m_treeWidget;
|
|
||||||
- QStackedWidget *m_topicStack;
|
|
||||||
- Step1 *m_step1;
|
|
||||||
- Step2 *m_step2;
|
|
||||||
- Step3 *m_step3;
|
|
||||||
- Step4 *m_step4;
|
|
||||||
- QPushButton *m_next;
|
|
||||||
- QPushButton *m_prev;
|
|
||||||
+ QTreeWidget *m_treeWidget = 0;
|
|
||||||
+ QStackedWidget *m_topicStack = 0;
|
|
||||||
+ Step1 *m_step1 = 0;
|
|
||||||
+ Step2 *m_step2 = 0;
|
|
||||||
+ Step3 *m_step3 = 0;
|
|
||||||
+ Step4 *m_step4 = 0;
|
|
||||||
+ QPushButton *m_next = 0;
|
|
||||||
+ QPushButton *m_prev = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
diff -up doxygen-1.8.16/src/classdef.cpp.orig doxygen-1.8.16/src/classdef.cpp
|
|
||||||
--- doxygen-1.8.16/src/classdef.cpp.orig 2019-08-04 19:04:55.000000000 +0200
|
|
||||||
+++ doxygen-1.8.16/src/classdef.cpp 2019-12-10 11:52:17.184826531 +0100
|
|
||||||
@@ -265,7 +265,7 @@ class ClassDefImpl : public DefinitionIm
|
|
||||||
|
|
||||||
// PIMPL idiom
|
|
||||||
class IMPL;
|
|
||||||
- IMPL *m_impl;
|
|
||||||
+ IMPL *m_impl = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
ClassDef *createClassDef(
|
|
||||||
@@ -525,7 +525,7 @@ class ClassDefAliasImpl : public Definit
|
|
||||||
QPtrDict<void> *visitedClasses=0) const {}
|
|
||||||
|
|
||||||
private:
|
|
||||||
- mutable bool m_visited;
|
|
||||||
+ mutable bool m_visited = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
@@ -563,27 +563,27 @@ class ClassDefImpl::IMPL
|
|
||||||
/*! Include information about the header file should be included
|
|
||||||
* in the documentation. 0 by default, set by setIncludeFile().
|
|
||||||
*/
|
|
||||||
- IncludeInfo *incInfo;
|
|
||||||
+ IncludeInfo *incInfo = 0;
|
|
||||||
|
|
||||||
/*! List of base class (or super-classes) from which this class derives
|
|
||||||
* directly.
|
|
||||||
*/
|
|
||||||
- BaseClassList *inherits;
|
|
||||||
+ BaseClassList *inherits = 0;
|
|
||||||
|
|
||||||
/*! List of sub-classes that directly derive from this class
|
|
||||||
*/
|
|
||||||
- BaseClassList *inheritedBy;
|
|
||||||
+ BaseClassList *inheritedBy = 0;
|
|
||||||
|
|
||||||
/*! Namespace this class is part of
|
|
||||||
* (this is the inner most namespace in case of nested namespaces)
|
|
||||||
*/
|
|
||||||
- NamespaceDef *nspace;
|
|
||||||
+ NamespaceDef *nspace = 0;
|
|
||||||
|
|
||||||
/*! File this class is defined in */
|
|
||||||
- FileDef *fileDef;
|
|
||||||
+ FileDef *fileDef = 0;
|
|
||||||
|
|
||||||
/*! List of all members (including inherited members) */
|
|
||||||
- MemberNameInfoSDict *allMemberNameInfoSDict;
|
|
||||||
+ MemberNameInfoSDict *allMemberNameInfoSDict = 0;
|
|
||||||
|
|
||||||
/*! Template arguments of this class */
|
|
||||||
ArgumentList *tempArgs;
|
|
||||||
@@ -595,7 +595,7 @@ class ClassDefImpl::IMPL
|
|
||||||
FileList files;
|
|
||||||
|
|
||||||
/*! Examples that use this class */
|
|
||||||
- ExampleSDict *exampleSDict;
|
|
||||||
+ ExampleSDict *exampleSDict = 0;
|
|
||||||
|
|
||||||
/*! Holds the kind of "class" this is. */
|
|
||||||
ClassDef::CompoundType compType;
|
|
||||||
@@ -609,30 +609,30 @@ class ClassDefImpl::IMPL
|
|
||||||
/*! The inner classes contained in this class. Will be 0 if there are
|
|
||||||
* no inner classes.
|
|
||||||
*/
|
|
||||||
- ClassSDict *innerClasses;
|
|
||||||
+ ClassSDict *innerClasses = 0;
|
|
||||||
|
|
||||||
/* classes for the collaboration diagram */
|
|
||||||
- UsesClassDict *usesImplClassDict;
|
|
||||||
- UsesClassDict *usedByImplClassDict;
|
|
||||||
- UsesClassDict *usesIntfClassDict;
|
|
||||||
+ UsesClassDict *usesImplClassDict = 0;
|
|
||||||
+ UsesClassDict *usedByImplClassDict = 0;
|
|
||||||
+ UsesClassDict *usesIntfClassDict = 0;
|
|
||||||
|
|
||||||
- ConstraintClassDict *constraintClassDict;
|
|
||||||
+ ConstraintClassDict *constraintClassDict = 0;
|
|
||||||
|
|
||||||
/*! Template instances that exists of this class, the key in the
|
|
||||||
* dictionary is the template argument list.
|
|
||||||
*/
|
|
||||||
- mutable QDict<ClassDef> *templateInstances;
|
|
||||||
+ mutable QDict<ClassDef> *templateInstances = 0;
|
|
||||||
|
|
||||||
/*! Template instances that exists of this class, as defined by variables.
|
|
||||||
* We do NOT want to document these individually. The key in the
|
|
||||||
* dictionary is the template argument list.
|
|
||||||
*/
|
|
||||||
- mutable QDict<ClassDef> *variableInstances;
|
|
||||||
+ mutable QDict<ClassDef> *variableInstances = 0;
|
|
||||||
|
|
||||||
- QDict<int> *templBaseClassNames;
|
|
||||||
+ QDict<int> *templBaseClassNames = 0;
|
|
||||||
|
|
||||||
/*! The class this class is an instance of. */
|
|
||||||
- const ClassDef *templateMaster;
|
|
||||||
+ const ClassDef *templateMaster = 0;
|
|
||||||
|
|
||||||
/*! local class name which could be a typedef'ed alias name. */
|
|
||||||
QCString className;
|
|
||||||
@@ -640,56 +640,56 @@ class ClassDefImpl::IMPL
|
|
||||||
/*! If this class is a Objective-C category, then this points to the
|
|
||||||
* class which is extended.
|
|
||||||
*/
|
|
||||||
- ClassDef *categoryOf;
|
|
||||||
+ ClassDef *categoryOf = 0;
|
|
||||||
|
|
||||||
QList<MemberList> memberLists;
|
|
||||||
|
|
||||||
/* user defined member groups */
|
|
||||||
- MemberGroupSDict *memberGroupSDict;
|
|
||||||
+ MemberGroupSDict *memberGroupSDict = 0;
|
|
||||||
|
|
||||||
/*! Is this an abstract class? */
|
|
||||||
- bool isAbstract;
|
|
||||||
+ bool isAbstract = false;
|
|
||||||
|
|
||||||
/*! Is the class part of an unnamed namespace? */
|
|
||||||
- bool isStatic;
|
|
||||||
+ bool isStatic = false;
|
|
||||||
|
|
||||||
/*! TRUE if classes members are merged with those of the base classes. */
|
|
||||||
- bool membersMerged;
|
|
||||||
+ bool membersMerged = false;
|
|
||||||
|
|
||||||
/*! TRUE if the class is defined in a source file rather than a header file. */
|
|
||||||
- bool isLocal;
|
|
||||||
+ bool isLocal = false;
|
|
||||||
|
|
||||||
- bool isTemplArg;
|
|
||||||
+ bool isTemplArg = false;
|
|
||||||
|
|
||||||
/*! Does this class group its user-grouped members
|
|
||||||
* as a sub-section of the normal (public/protected/..)
|
|
||||||
* groups?
|
|
||||||
*/
|
|
||||||
- bool subGrouping;
|
|
||||||
+ bool subGrouping = false;
|
|
||||||
|
|
||||||
/** Reason of existence is a "use" relation */
|
|
||||||
- bool usedOnly;
|
|
||||||
+ bool usedOnly = false;
|
|
||||||
|
|
||||||
/** List of titles to use for the summary */
|
|
||||||
SDict<QCString> vhdlSummaryTitles;
|
|
||||||
|
|
||||||
/** Is this a simple (non-nested) C structure? */
|
|
||||||
- bool isSimple;
|
|
||||||
+ bool isSimple = false;
|
|
||||||
|
|
||||||
/** Does this class overloaded the -> operator? */
|
|
||||||
- MemberDef *arrowOperator;
|
|
||||||
+ MemberDef *arrowOperator = 0;
|
|
||||||
|
|
||||||
- ClassList *taggedInnerClasses;
|
|
||||||
- ClassDef *tagLessRef;
|
|
||||||
+ ClassList *taggedInnerClasses = 0;
|
|
||||||
+ ClassDef *tagLessRef = 0;
|
|
||||||
|
|
||||||
/** Does this class represent a Java style enum? */
|
|
||||||
- bool isJavaEnum;
|
|
||||||
+ bool isJavaEnum = false;
|
|
||||||
|
|
||||||
- bool isGeneric;
|
|
||||||
+ bool isGeneric = false;
|
|
||||||
|
|
||||||
- bool isAnonymous;
|
|
||||||
+ bool isAnonymous = false;
|
|
||||||
|
|
||||||
- uint64 spec;
|
|
||||||
+ uint64 spec = 0;
|
|
||||||
|
|
||||||
QCString metaData;
|
|
||||||
};
|
|
||||||
diff -up doxygen-1.8.16/src/docgroup.h.orig doxygen-1.8.16/src/docgroup.h
|
|
||||||
--- doxygen-1.8.16/src/docgroup.h.orig 2019-08-02 18:43:41.000000000 +0200
|
|
||||||
+++ doxygen-1.8.16/src/docgroup.h 2019-12-10 11:45:32.752260485 +0100
|
|
||||||
@@ -42,9 +42,9 @@ class DocGroup
|
|
||||||
|
|
||||||
private:
|
|
||||||
int findExistingGroup(int &groupId,const MemberGroupInfo *info);
|
|
||||||
- int m_openCount;
|
|
||||||
+ int m_openCount = 0;
|
|
||||||
QCString m_memberGroupHeader;
|
|
||||||
- int m_memberGroupId;
|
|
||||||
+ int m_memberGroupId = 0;
|
|
||||||
QCString m_memberGroupRelates;
|
|
||||||
QCString m_memberGroupDocs;
|
|
||||||
QStack<Grouping> m_autoGroupStack;
|
|
||||||
diff -up doxygen-1.8.16/src/doctokenizer.h.orig doxygen-1.8.16/src/doctokenizer.h
|
|
||||||
--- doxygen-1.8.16/src/doctokenizer.h.orig 2019-06-10 10:17:24.000000000 +0200
|
|
||||||
+++ doxygen-1.8.16/src/doctokenizer.h 2019-12-10 11:45:32.752260485 +0100
|
|
||||||
@@ -81,8 +81,8 @@ struct TokenInfo
|
|
||||||
// comment blocks
|
|
||||||
|
|
||||||
// list token info
|
|
||||||
- bool isEnumList;
|
|
||||||
- int indent;
|
|
||||||
+ bool isEnumList = false;
|
|
||||||
+ int indent = 0;
|
|
||||||
|
|
||||||
// sections
|
|
||||||
QCString sectionId;
|
|
||||||
@@ -95,22 +95,22 @@ struct TokenInfo
|
|
||||||
QCString verb;
|
|
||||||
|
|
||||||
// xrefitem
|
|
||||||
- int id;
|
|
||||||
+ int id = -1;
|
|
||||||
|
|
||||||
// html tag
|
|
||||||
HtmlAttribList attribs;
|
|
||||||
- bool endTag;
|
|
||||||
- bool emptyTag;
|
|
||||||
+ bool endTag = false;
|
|
||||||
+ bool emptyTag = false;
|
|
||||||
|
|
||||||
// whitespace
|
|
||||||
QCString chars;
|
|
||||||
|
|
||||||
// url
|
|
||||||
- bool isEMailAddr;
|
|
||||||
+ bool isEMailAddr = false;
|
|
||||||
|
|
||||||
// param attributes
|
|
||||||
enum ParamDir { In=1, Out=2, InOut=3, Unspecified=0 };
|
|
||||||
- ParamDir paramDir;
|
|
||||||
+ ParamDir paramDir = Unspecified;
|
|
||||||
};
|
|
||||||
|
|
||||||
// globals
|
|
||||||
diff -up doxygen-1.8.16/src/dotgraph.h.orig doxygen-1.8.16/src/dotgraph.h
|
|
||||||
--- doxygen-1.8.16/src/dotgraph.h.orig 2019-06-13 21:36:00.000000000 +0200
|
|
||||||
+++ doxygen-1.8.16/src/dotgraph.h 2019-12-10 11:45:32.752260485 +0100
|
|
||||||
@@ -83,22 +83,22 @@ class DotGraph
|
|
||||||
QCString relImgName() const { return m_relPath + imgName(); }
|
|
||||||
|
|
||||||
// the following variables are used while writing the graph to a .dot file
|
|
||||||
- GraphOutputFormat m_graphFormat;
|
|
||||||
- EmbeddedOutputFormat m_textFormat;
|
|
||||||
+ GraphOutputFormat m_graphFormat = GOF_BITMAP;
|
|
||||||
+ EmbeddedOutputFormat m_textFormat = EOF_Html;
|
|
||||||
QDir m_dir;
|
|
||||||
QCString m_fileName;
|
|
||||||
QCString m_relPath;
|
|
||||||
- bool m_generateImageMap;
|
|
||||||
- int m_graphId;
|
|
||||||
+ bool m_generateImageMap = false;
|
|
||||||
+ int m_graphId = 0;
|
|
||||||
|
|
||||||
QCString m_absPath;
|
|
||||||
QCString m_baseName;
|
|
||||||
QGString m_theGraph;
|
|
||||||
- bool m_regenerate;
|
|
||||||
- bool m_doNotAddImageToIndex;
|
|
||||||
- bool m_noDivTag;
|
|
||||||
- bool m_zoomable;
|
|
||||||
- bool m_urlOnly;
|
|
||||||
+ bool m_regenerate = false;
|
|
||||||
+ bool m_doNotAddImageToIndex = false;
|
|
||||||
+ bool m_noDivTag = false;
|
|
||||||
+ bool m_zoomable = true;
|
|
||||||
+ bool m_urlOnly = false;
|
|
||||||
|
|
||||||
private:
|
|
||||||
DotGraph(const DotGraph &);
|
|
||||||
diff -up doxygen-1.8.16/src/memberdef.cpp.orig doxygen-1.8.16/src/memberdef.cpp
|
|
||||||
--- doxygen-1.8.16/src/memberdef.cpp.orig 2019-08-06 20:32:27.000000000 +0200
|
|
||||||
+++ doxygen-1.8.16/src/memberdef.cpp 2019-12-10 11:45:32.753260493 +0100
|
|
||||||
@@ -1299,32 +1299,32 @@ class MemberDefImpl::IMPL
|
|
||||||
const ArgumentList *al,const char *meta
|
|
||||||
);
|
|
||||||
|
|
||||||
- ClassDef *classDef; // member of or related to
|
|
||||||
- FileDef *fileDef; // member of file definition
|
|
||||||
- NamespaceDef *nspace; // the namespace this member is in.
|
|
||||||
-
|
|
||||||
- MemberDef *enumScope; // the enclosing scope, if this is an enum field
|
|
||||||
- bool livesInsideEnum;
|
|
||||||
- const MemberDef *annEnumType; // the anonymous enum that is the type of this member
|
|
||||||
- MemberList *enumFields; // enumeration fields
|
|
||||||
-
|
|
||||||
- MemberDef *redefines; // the members that this member redefines
|
|
||||||
- MemberList *redefinedBy; // the list of members that redefine this one
|
|
||||||
-
|
|
||||||
- MemberDef *memDef; // member definition for this declaration
|
|
||||||
- MemberDef *memDec; // member declaration for this definition
|
|
||||||
- ClassDef *relatedAlso; // points to class marked by relatedAlso
|
|
||||||
+ ClassDef *classDef = 0; // member of or related to
|
|
||||||
+ FileDef *fileDef = 0; // member of file definition
|
|
||||||
+ NamespaceDef *nspace = 0; // the namespace this member is in.
|
|
||||||
+
|
|
||||||
+ MemberDef *enumScope = 0; // the enclosing scope, if this is an enum field
|
|
||||||
+ bool livesInsideEnum = false;
|
|
||||||
+ const MemberDef *annEnumType = 0; // the anonymous enum that is the type of this member
|
|
||||||
+ MemberList *enumFields = 0; // enumeration fields
|
|
||||||
+
|
|
||||||
+ MemberDef *redefines = 0; // the members that this member redefines
|
|
||||||
+ MemberList *redefinedBy = 0; // the list of members that redefine this one
|
|
||||||
+
|
|
||||||
+ MemberDef *memDef = 0; // member definition for this declaration
|
|
||||||
+ MemberDef *memDec = 0; // member declaration for this definition
|
|
||||||
+ ClassDef *relatedAlso = 0; // points to class marked by relatedAlso
|
|
||||||
|
|
||||||
- ExampleSDict *exampleSDict; // a dictionary of all examples for quick access
|
|
||||||
+ ExampleSDict *exampleSDict = 0; // a dictionary of all examples for quick access
|
|
||||||
|
|
||||||
QCString type; // return actual type
|
|
||||||
QCString accessorType; // return type that tell how to get to this member
|
|
||||||
- ClassDef *accessorClass; // class that this member accesses (for anonymous types)
|
|
||||||
+ ClassDef *accessorClass = 0; // class that this member accesses (for anonymous types)
|
|
||||||
QCString args; // function arguments/variable array specifiers
|
|
||||||
QCString def; // member definition in code (fully qualified name)
|
|
||||||
QCString anc; // HTML anchor name
|
|
||||||
- Specifier virt; // normal/virtual/pure virtual
|
|
||||||
- Protection prot; // protection type [Public/Protected/Private]
|
|
||||||
+ Specifier virt = Normal; // normal/virtual/pure virtual
|
|
||||||
+ Protection prot = Public; // protection type [Public/Protected/Private]
|
|
||||||
QCString decl; // member declaration in class
|
|
||||||
|
|
||||||
QCString bitfields; // struct member bitfields
|
|
||||||
@@ -1334,13 +1334,13 @@ class MemberDefImpl::IMPL
|
|
||||||
QCString initializer; // initializer
|
|
||||||
QCString extraTypeChars; // extra type info found after the argument list
|
|
||||||
QCString enumBaseType; // base type of the enum (C++11)
|
|
||||||
- int initLines; // number of lines in the initializer
|
|
||||||
+ int initLines = 0; // number of lines in the initializer
|
|
||||||
|
|
||||||
- uint64 memSpec; // The specifiers present for this member
|
|
||||||
- MemberType mtype; // returns the kind of member
|
|
||||||
- int maxInitLines; // when the initializer will be displayed
|
|
||||||
- int userInitLines; // result of explicit \hideinitializer or \showinitializer
|
|
||||||
- MemberDef *annMemb;
|
|
||||||
+ uint64 memSpec = 0; // The specifiers present for this member
|
|
||||||
+ MemberType mtype = MemberType_Define; // returns the kind of member
|
|
||||||
+ int maxInitLines = 0; // when the initializer will be displayed
|
|
||||||
+ int userInitLines = 0; // result of explicit \hideinitializer or \showinitializer
|
|
||||||
+ MemberDef *annMemb = 0;
|
|
||||||
|
|
||||||
ArgumentList *defArgList; // argument list of this member definition
|
|
||||||
ArgumentList *declArgList; // argument list of this member declaration
|
|
||||||
@@ -1357,19 +1357,19 @@ class MemberDefImpl::IMPL
|
|
||||||
// as its type then this is computed by
|
|
||||||
// getClassDefOfAnonymousType() and
|
|
||||||
// cached here.
|
|
||||||
- SDict<MemberList> *classSectionSDict; // not accessible
|
|
||||||
+ SDict<MemberList> *classSectionSDict = 0; // not accessible
|
|
||||||
|
|
||||||
- const MemberDef *groupAlias; // Member containing the definition
|
|
||||||
- int grpId; // group id
|
|
||||||
- MemberGroup *memberGroup; // group's member definition
|
|
||||||
- GroupDef *group; // group in which this member is in
|
|
||||||
+ const MemberDef *groupAlias = 0; // Member containing the definition
|
|
||||||
+ int grpId = 0; // group id
|
|
||||||
+ MemberGroup *memberGroup = 0; // group's member definition
|
|
||||||
+ GroupDef *group = 0; // group in which this member is in
|
|
||||||
Grouping::GroupPri_t grouppri; // priority of this definition
|
|
||||||
QCString groupFileName; // file where this grouping was defined
|
|
||||||
- int groupStartLine; // line " " " " "
|
|
||||||
- MemberDef *groupMember;
|
|
||||||
+ int groupStartLine = 0; // line " " " " "
|
|
||||||
+ MemberDef *groupMember = 0;
|
|
||||||
|
|
||||||
- bool isTypedefValCached;
|
|
||||||
- const ClassDef *cachedTypedefValue;
|
|
||||||
+ bool isTypedefValCached = false;
|
|
||||||
+ const ClassDef *cachedTypedefValue = 0;
|
|
||||||
QCString cachedTypedefTemplSpec;
|
|
||||||
QCString cachedResolvedType;
|
|
||||||
|
|
||||||
@@ -1379,41 +1379,41 @@ class MemberDefImpl::IMPL
|
|
||||||
//QCString inbodyDocs;
|
|
||||||
|
|
||||||
// documentation inheritance
|
|
||||||
- MemberDef *docProvider;
|
|
||||||
+ MemberDef *docProvider = 0;
|
|
||||||
|
|
||||||
// to store the output file base from tag files
|
|
||||||
QCString explicitOutputFileBase;
|
|
||||||
|
|
||||||
// objective-c
|
|
||||||
- bool implOnly; // function found in implementation but not
|
|
||||||
- // in the interface
|
|
||||||
- mutable bool hasDocumentedParams;
|
|
||||||
- mutable bool hasDocumentedReturnType;
|
|
||||||
- bool isDMember;
|
|
||||||
- Relationship related; // relationship of this to the class
|
|
||||||
- bool stat; // is it a static function?
|
|
||||||
- bool proto; // is it a prototype;
|
|
||||||
- bool docEnumValues; // is an enum with documented enum values.
|
|
||||||
-
|
|
||||||
- mutable bool annScope; // member is part of an anonymous scope
|
|
||||||
- mutable bool annUsed; // ugly: needs to be mutable to allow setAnonymousUsed to act as a
|
|
||||||
- // const member.
|
|
||||||
- bool hasCallGraph;
|
|
||||||
- bool hasCallerGraph;
|
|
||||||
- bool hasReferencedByRelation;
|
|
||||||
- bool hasReferencesRelation;
|
|
||||||
- bool explExt; // member was explicitly declared external
|
|
||||||
- bool tspec; // member is a template specialization
|
|
||||||
- bool groupHasDocs; // true if the entry that caused the grouping was documented
|
|
||||||
- bool docsForDefinition; // TRUE => documentation block is put before
|
|
||||||
- // definition.
|
|
||||||
- // FALSE => block is put before declaration.
|
|
||||||
- ClassDef *category;
|
|
||||||
- MemberDef *categoryRelation;
|
|
||||||
+ bool implOnly = false; // function found in implementation but not
|
|
||||||
+ // in the interface
|
|
||||||
+ mutable bool hasDocumentedParams = false;
|
|
||||||
+ mutable bool hasDocumentedReturnType = false;
|
|
||||||
+ bool isDMember = false;
|
|
||||||
+ Relationship related = Member; // relationship of this to the class
|
|
||||||
+ bool stat = false; // is it a static function?
|
|
||||||
+ bool proto = false; // is it a prototype?
|
|
||||||
+ bool docEnumValues = false; // is an enum with documented enum values.
|
|
||||||
+
|
|
||||||
+ mutable bool annScope = false; // member is part of an anonymous scope
|
|
||||||
+ mutable bool annUsed = false; // ugly: needs to be mutable to allow setAnonymousUsed to act as a
|
|
||||||
+ // const member.
|
|
||||||
+ bool hasCallGraph = false;
|
|
||||||
+ bool hasCallerGraph = false;
|
|
||||||
+ bool hasReferencedByRelation = false;
|
|
||||||
+ bool hasReferencesRelation = false;
|
|
||||||
+ bool explExt = false; // member was explicitly declared external
|
|
||||||
+ bool tspec = false; // member is a template specialization
|
|
||||||
+ bool groupHasDocs = false; // true if the entry that caused the grouping was documented
|
|
||||||
+ bool docsForDefinition = false; // TRUE => documentation block is put before
|
|
||||||
+ // definition.
|
|
||||||
+ // FALSE => block is put before declaration.
|
|
||||||
+ ClassDef *category = 0;
|
|
||||||
+ MemberDef *categoryRelation = 0;
|
|
||||||
QCString declFileName;
|
|
||||||
- int declLine;
|
|
||||||
- int declColumn;
|
|
||||||
- int numberOfFlowKW;
|
|
||||||
+ int declLine = 0;
|
|
||||||
+ int declColumn = 0;
|
|
||||||
+ int numberOfFlowKW = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
MemberDefImpl::IMPL::IMPL() :
|
|
||||||
diff -up doxygen-1.8.16/src/membergroup.h.orig doxygen-1.8.16/src/membergroup.h
|
|
||||||
--- doxygen-1.8.16/src/membergroup.h.orig 2019-12-10 11:45:32.754260502 +0100
|
|
||||||
+++ doxygen-1.8.16/src/membergroup.h 2019-12-10 11:54:06.767797449 +0100
|
|
||||||
@@ -101,18 +101,18 @@ class MemberGroup
|
|
||||||
int docLine() const { return m_docLine; }
|
|
||||||
|
|
||||||
private:
|
|
||||||
- MemberList *memberList; // list of all members in the group
|
|
||||||
- MemberList *inDeclSection;
|
|
||||||
- int grpId;
|
|
||||||
+ MemberList *memberList = 0; // list of all members in the group
|
|
||||||
+ MemberList *inDeclSection = 0;
|
|
||||||
+ int grpId = 0;
|
|
||||||
QCString grpHeader;
|
|
||||||
QCString fileName; // base name of the generated file
|
|
||||||
QCString doc;
|
|
||||||
- bool inSameSection;
|
|
||||||
- int m_numDecMembers;
|
|
||||||
- int m_numDocMembers;
|
|
||||||
- const Definition *m_parent;
|
|
||||||
+ bool inSameSection = false;
|
|
||||||
+ int m_numDecMembers = 0;
|
|
||||||
+ int m_numDocMembers = 0;
|
|
||||||
+ const Definition *m_parent = 0;
|
|
||||||
QCString m_docFile;
|
|
||||||
- int m_docLine;
|
|
||||||
+ int m_docLine = 0;
|
|
||||||
QList<ListItemInfo> *m_xrefListItems;
|
|
||||||
};
|
|
||||||
|
|
||||||
diff -up doxygen-1.8.16/src/scanner.l.orig doxygen-1.8.16/src/scanner.l
|
|
||||||
--- doxygen-1.8.16/src/scanner.l.orig 2019-12-10 11:45:32.756260520 +0100
|
|
||||||
+++ doxygen-1.8.16/src/scanner.l 2019-12-10 11:54:52.099199108 +0100
|
|
||||||
@@ -191,7 +191,7 @@ static QCString g_delimiter;
|
|
||||||
static int g_column;
|
|
||||||
|
|
||||||
static int g_fencedSize=0;
|
|
||||||
-static bool g_nestedComment=0;
|
|
||||||
+static bool g_nestedComment=false;
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
diff -up doxygen-1.8.16/src/tclscanner.l.orig doxygen-1.8.16/src/tclscanner.l
|
|
||||||
--- doxygen-1.8.16/src/tclscanner.l.orig 2019-08-04 19:05:12.000000000 +0200
|
|
||||||
+++ doxygen-1.8.16/src/tclscanner.l 2019-12-10 11:45:32.757260529 +0100
|
|
||||||
@@ -1492,7 +1492,7 @@ tcl_inf("-> %s\n",(const char *)tcl.stri
|
|
||||||
{
|
|
||||||
tcl_inf("-> %s\n",(const char *)tcl.string_comment);
|
|
||||||
int myPos=0;
|
|
||||||
- bool myNew=0;
|
|
||||||
+ bool myNew=false;
|
|
||||||
int myLine=tcl.line_comment;
|
|
||||||
BufStr myI(1024);
|
|
||||||
BufStr myO(1024);
|
|
||||||
diff -up doxygen-1.8.16/src/vhdldocgen.h.orig doxygen-1.8.16/src/vhdldocgen.h
|
|
||||||
--- doxygen-1.8.16/src/vhdldocgen.h.orig 2019-06-10 10:17:24.000000000 +0200
|
|
||||||
+++ doxygen-1.8.16/src/vhdldocgen.h 2019-12-10 11:45:32.757260529 +0100
|
|
||||||
@@ -310,11 +310,11 @@ class FlowChart
|
|
||||||
~FlowChart();
|
|
||||||
|
|
||||||
private:
|
|
||||||
- int id;
|
|
||||||
- int stamp;
|
|
||||||
- int type;
|
|
||||||
+ int id = 0;
|
|
||||||
+ int stamp = 0;
|
|
||||||
+ int type = 0;
|
|
||||||
|
|
||||||
- int line;
|
|
||||||
+ int line = 0;
|
|
||||||
|
|
||||||
QCString label;
|
|
||||||
QCString text;
|
|
||||||
diff -up doxygen-1.8.16/src/vhdljjparser.h.orig doxygen-1.8.16/src/vhdljjparser.h
|
|
||||||
--- doxygen-1.8.16/src/vhdljjparser.h.orig 2019-06-10 10:17:24.000000000 +0200
|
|
||||||
+++ doxygen-1.8.16/src/vhdljjparser.h 2019-12-10 11:45:32.758260538 +0100
|
|
||||||
@@ -87,9 +87,9 @@ struct VhdlConfNode
|
|
||||||
QCString arch;
|
|
||||||
QCString binding;
|
|
||||||
QCString compSpec;
|
|
||||||
- int level;
|
|
||||||
- bool isLeaf;
|
|
||||||
- bool isInlineConf;
|
|
||||||
+ int level = 0;
|
|
||||||
+ bool isLeaf = false;
|
|
||||||
+ bool isInlineConf = false;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
diff -up doxygen-1.8.16/src/clangparser.cpp.me doxygen-1.8.16/src/clangparser.cpp
|
|
||||||
--- doxygen-1.8.16/src/clangparser.cpp.me 2019-12-10 12:08:46.334638776 +0100
|
|
||||||
+++ doxygen-1.8.16/src/clangparser.cpp 2019-12-10 12:08:59.291755101 +0100
|
|
||||||
@@ -174,7 +174,7 @@ void ClangParser::start(const char *file
|
|
||||||
std::string error;
|
|
||||||
// load a clang compilation database (https://clang.llvm.org/docs/JSONCompilationDatabase.html)
|
|
||||||
// this only needs to be loaded once, and could be refactored to a higher level function
|
|
||||||
- static std::unique_ptr<clang::tooling::CompilationDatabase> db =
|
|
||||||
+ static std::shared_ptr<clang::tooling::CompilationDatabase> db =
|
|
||||||
clang::tooling::CompilationDatabase::loadFromDirectory(clangCompileDatabase.data(), error);
|
|
||||||
int clang_option_len = 0;
|
|
||||||
std::vector<clang::tooling::CompileCommand> command;
|
|
||||||
diff -up doxygen-1.8.16/src/doxygen.cpp.me doxygen-1.8.16/src/doxygen.cpp
|
|
||||||
--- doxygen-1.8.16/src/doxygen.cpp.me 2019-12-10 12:05:44.254007471 +0100
|
|
||||||
+++ doxygen-1.8.16/src/doxygen.cpp 2019-12-10 12:07:24.286903381 +0100
|
|
||||||
@@ -520,7 +520,7 @@ static void addSTLClasses(Entry *root)
|
|
||||||
addSTLMember(classEntry,info->templType2,info->templName2);
|
|
||||||
}
|
|
||||||
if (fullName=="std::auto_ptr" || fullName=="std::smart_ptr" || fullName=="std::shared_ptr" ||
|
|
||||||
- fullName=="std::unique_ptr" || fullName=="std::weak_ptr")
|
|
||||||
+ fullName=="std::shared_ptr" || fullName=="std::weak_ptr")
|
|
||||||
{
|
|
||||||
Entry *memEntry = new Entry;
|
|
||||||
memEntry->name = "operator->";
|
|
78
doxygen-1.8.17-test-suite-is-failing.patch
Normal file
78
doxygen-1.8.17-test-suite-is-failing.patch
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
commit cd9dee013dc749a10bbe019c350e0e62b6635795
|
||||||
|
Author: albert-github <albert.tests@gmail.com>
|
||||||
|
Date: Wed Jan 1 17:51:53 2020 +0100
|
||||||
|
|
||||||
|
issue #7464 1.8.17: test suite is failing
|
||||||
|
|
||||||
|
On Windows the syntax with the command and arguments in one string worked but on *nix (and Cygwin) it didn't.
|
||||||
|
- changed calls to Popen to split command (see also: https://docs.python.org/3/library/subprocess.html).
|
||||||
|
- explicitly specify files to check for xhtml
|
||||||
|
- changed call to xmllint for xhtml and docbook (due to stdout overflow in some cases, we are not really interested in the, formatted, output of xmllint).
|
||||||
|
- in the update part a `read` was left, should have been removed.
|
||||||
|
|
||||||
|
diff --git a/testing/runtests.py b/testing/runtests.py
|
||||||
|
index a4118b86..10fe5021 100755
|
||||||
|
--- a/testing/runtests.py
|
||||||
|
+++ b/testing/runtests.py
|
||||||
|
@@ -3,6 +3,7 @@
|
||||||
|
from __future__ import print_function
|
||||||
|
import argparse, glob, itertools, re, shutil, os, sys
|
||||||
|
import subprocess
|
||||||
|
+import shlex
|
||||||
|
|
||||||
|
config_reg = re.compile('.*\/\/\s*(?P<name>\S+):\s*(?P<value>.*)$')
|
||||||
|
|
||||||
|
@@ -28,10 +29,10 @@ def xpopen(cmd, cmd1="",encoding='utf-8-sig', getStderr=False):
|
||||||
|
return os.popen(cmd).read() # Python 2 without encoding
|
||||||
|
else:
|
||||||
|
if (getStderr):
|
||||||
|
- proc = subprocess.run(cmd1,encoding=encoding,capture_output=True) # Python 3 with encoding
|
||||||
|
- return proc.stderr
|
||||||
|
+ proc = subprocess.Popen(shlex.split(cmd1),stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding=encoding) # Python 3 with encoding
|
||||||
|
+ return proc.stderr.read()
|
||||||
|
else:
|
||||||
|
- proc = subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding=encoding) # Python 3 with encoding
|
||||||
|
+ proc = subprocess.Popen(shlex.split(cmd),stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding=encoding) # Python 3 with encoding
|
||||||
|
return proc.stdout.read()
|
||||||
|
|
||||||
|
class Tester:
|
||||||
|
@@ -137,7 +138,7 @@ class Tester:
|
||||||
|
print('GENERATE_DOCBOOK=NO', file=f)
|
||||||
|
if (self.args.xhtml):
|
||||||
|
print('GENERATE_HTML=YES', file=f)
|
||||||
|
- # HTML_OUTPUT can also be set locally
|
||||||
|
+ # HTML_OUTPUT can also have been set locally
|
||||||
|
print('HTML_OUTPUT=%s/html' % self.test_out, file=f)
|
||||||
|
print('HTML_FILE_EXTENSION=.xhtml', file=f)
|
||||||
|
if (self.args.pdf):
|
||||||
|
@@ -184,7 +185,7 @@ class Tester:
|
||||||
|
print('Non-existing file %s after \'check:\' statement' % check_file)
|
||||||
|
return
|
||||||
|
# convert output to canonical form
|
||||||
|
- data = xpopen('%s --format --noblanks --nowarning %s' % (self.args.xmllint,check_file)).read()
|
||||||
|
+ data = xpopen('%s --format --noblanks --nowarning %s' % (self.args.xmllint,check_file))
|
||||||
|
if data:
|
||||||
|
# strip version
|
||||||
|
data = re.sub(r'xsd" version="[0-9.-]+"','xsd" version=""',data).rstrip('\n')
|
||||||
|
@@ -326,7 +327,7 @@ class Tester:
|
||||||
|
tests.append(glob.glob('%s/*.xml' % (docbook_output)))
|
||||||
|
tests.append(glob.glob('%s/*/*/*.xml' % (docbook_output)))
|
||||||
|
tests = ' '.join(list(itertools.chain.from_iterable(tests))).replace(self.args.outputdir +'/','').replace('\\','/')
|
||||||
|
- exe_string = '%s --nonet --postvalid %s' % (self.args.xmllint,tests)
|
||||||
|
+ exe_string = '%s --noout --nonet --postvalid %s' % (self.args.xmllint,tests)
|
||||||
|
exe_string1 = exe_string
|
||||||
|
exe_string += ' %s' % (redirx)
|
||||||
|
exe_string += ' %s more "%s/temp"' % (separ,docbook_output)
|
||||||
|
@@ -346,7 +347,11 @@ class Tester:
|
||||||
|
redirx=' 2> %s/temp >nul:'%html_output
|
||||||
|
else:
|
||||||
|
redirx='2>%s/temp >/dev/null'%html_output
|
||||||
|
- exe_string = '%s --path dtd --nonet --postvalid %s/*xhtml' % (self.args.xmllint,html_output)
|
||||||
|
+ check_file = []
|
||||||
|
+ check_file.append(glob.glob('%s/*.xhtml' % (html_output)))
|
||||||
|
+ check_file.append(glob.glob('%s/*/*/*.xhtml' % (html_output)))
|
||||||
|
+ check_file = ' '.join(list(itertools.chain.from_iterable(check_file))).replace(self.args.outputdir +'/','').replace('\\','/')
|
||||||
|
+ exe_string = '%s --noout --path dtd --nonet --postvalid %s' % (self.args.xmllint,check_file)
|
||||||
|
exe_string1 = exe_string
|
||||||
|
exe_string += ' %s' % (redirx)
|
||||||
|
exe_string += ' %s more "%s/temp"' % (separ,html_output)
|
43
doxygen.spec
43
doxygen.spec
@ -3,27 +3,27 @@
|
|||||||
%else
|
%else
|
||||||
%global xapian_core_support OFF
|
%global xapian_core_support OFF
|
||||||
%endif
|
%endif
|
||||||
|
%global BuildDir Out
|
||||||
|
|
||||||
Summary: A documentation system for C/C++
|
Summary: A documentation system for C/C++
|
||||||
Name: doxygen
|
Name: doxygen
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 1.8.16
|
Version: 1.8.17
|
||||||
Release: 3%{?dist}
|
Release: 1%{?dist}
|
||||||
|
|
||||||
# No version is specified.
|
# No version is specified.
|
||||||
License: GPL+
|
License: GPL+
|
||||||
Url: http://www.doxygen.nl
|
Url: http://www.doxygen.nl
|
||||||
Source0: http://doxygen.nl/files/%{name}-%{version}.src.tar.gz
|
Source0: http://doxygen.nl/files/%{name}-%{version}.src.tar.gz
|
||||||
# this icon is part of kdesdk
|
# this icon is part of kdesdk
|
||||||
Source1: doxywizard.png
|
Source1: doxywizard.desktop
|
||||||
Source2: doxywizard.desktop
|
|
||||||
|
|
||||||
# upstream patches
|
# upstream patches
|
||||||
Patch0: doxygen-1.8.16-#7248.patch
|
Patch0: doxgen-1.8.17-broken-urls-in-the-xml-output.patch
|
||||||
Patch1: doxygen-1.8.16-covscan.patch
|
Patch1: doxygen-1.8.17-test-suite-is-failing.patch
|
||||||
|
|
||||||
BuildRequires: %{_bindir}/python3
|
BuildRequires: %{_bindir}/python3
|
||||||
|
BuildRequires: ImageMagick
|
||||||
BuildRequires: gcc-c++ gcc
|
BuildRequires: gcc-c++ gcc
|
||||||
BuildRequires: perl-interpreter
|
BuildRequires: perl-interpreter
|
||||||
%if ! 0%{?_module_build}
|
%if ! 0%{?_module_build}
|
||||||
@ -105,9 +105,8 @@ mv LANGUAGE.HOWTO.new LANGUAGE.HOWTO
|
|||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
mkdir -p %{BuildDir}
|
||||||
mkdir -p %{_target_platform}
|
pushd %{BuildDir}
|
||||||
pushd %{_target_platform}
|
|
||||||
%if ! 0%{?_module_build}
|
%if ! 0%{?_module_build}
|
||||||
%cmake \
|
%cmake \
|
||||||
-DPYTHON_EXECUTABLE=%{_bindir}/python3 \
|
-DPYTHON_EXECUTABLE=%{_bindir}/python3 \
|
||||||
@ -133,12 +132,21 @@ pushd %{_target_platform}
|
|||||||
%endif
|
%endif
|
||||||
popd
|
popd
|
||||||
|
|
||||||
make %{?_smp_mflags} -C %{_target_platform}
|
make %{?_smp_mflags} -C %{BuildDir}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
make install DESTDIR=%{buildroot} -C %{_target_platform}
|
make install DESTDIR=%{buildroot} -C %{BuildDir}
|
||||||
|
|
||||||
install -m644 -p -D %{SOURCE1} %{buildroot}%{_datadir}/pixmaps/doxywizard.png
|
# convert icons
|
||||||
|
convert addon/doxywizard/doxywizard.ico doxywizard.png
|
||||||
|
|
||||||
|
# install icons
|
||||||
|
icondir=%{buildroot}%{_datadir}/icons/hicolor
|
||||||
|
mkdir -m755 -p $icondir/{16x16,32x32,48x48,128x128}/apps
|
||||||
|
install -m644 -p -D doxywizard-6.png $icondir/16x16/apps/doxywizard.png
|
||||||
|
install -m644 -p -D doxywizard-5.png $icondir/32x32/apps/doxywizard.png
|
||||||
|
install -m644 -p -D doxywizard-4.png $icondir/48x48/apps/doxywizard.png
|
||||||
|
install -m644 -p -D doxywizard-3.png $icondir/128x128/apps/doxywizard.png
|
||||||
|
|
||||||
# install man pages
|
# install man pages
|
||||||
mkdir -p %{buildroot}/%{_mandir}/man1
|
mkdir -p %{buildroot}/%{_mandir}/man1
|
||||||
@ -155,11 +163,11 @@ rm -f %{buildroot}/%{_mandir}/man1/doxyindexer.1* %{buildroot}/%{_mandir}/man1/d
|
|||||||
rm -rf %{buildroot}/%{_docdir}/packages
|
rm -rf %{buildroot}/%{_docdir}/packages
|
||||||
|
|
||||||
%if ! 0%{?_module_build}
|
%if ! 0%{?_module_build}
|
||||||
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE2}
|
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%check
|
%check
|
||||||
make tests -C %{_target_platform}
|
make tests -C %{BuildDir}
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%doc LANGUAGE.HOWTO README.md
|
%doc LANGUAGE.HOWTO README.md
|
||||||
@ -182,7 +190,7 @@ make tests -C %{_target_platform}
|
|||||||
%{_mandir}/man1/doxywizard*
|
%{_mandir}/man1/doxywizard*
|
||||||
%{_datadir}/applications/doxywizard.desktop
|
%{_datadir}/applications/doxywizard.desktop
|
||||||
%endif
|
%endif
|
||||||
%{_datadir}/pixmaps/doxywizard.png
|
%{_datadir}/icons/hicolor/*/apps/doxywizard.png
|
||||||
|
|
||||||
%if ! 0%{?_module_build}
|
%if ! 0%{?_module_build}
|
||||||
%files latex
|
%files latex
|
||||||
@ -190,6 +198,9 @@ make tests -C %{_target_platform}
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jan 14 2020 Than Ngo <than@redhat.com> - 1:1.8.17-1
|
||||||
|
- resolves #1786799, update to 1.8.17
|
||||||
|
|
||||||
* Tue Dec 10 2019 Than Ngo <than@redhat.com> - 1:1.8.16-3
|
* Tue Dec 10 2019 Than Ngo <than@redhat.com> - 1:1.8.16-3
|
||||||
- fixed covscan issues
|
- fixed covscan issues
|
||||||
|
|
||||||
|
3
sources
3
sources
@ -1,2 +1 @@
|
|||||||
SHA512 (doxywizard.png) = 42a7e5903bf27463d3b072cf043aef071b519b53054bbe647c522d5e499e02f554867ab5e9971b06493769cc17b9d1588462aeade284de1f9d579cf9f99e8851
|
SHA512 (doxygen-1.8.17.src.tar.gz) = 98869f60eb1eeb48a7d75993de7e19151665797441364532f86382dc19a9db6b71049cf697592cb321391991120868f4e25b4c3e80f2a0f2b3c70b71d90be7b6
|
||||||
SHA512 (doxygen-1.8.16.src.tar.gz) = 46a0189aa82d5a687bdd99a904f0c061fccca407d15867d14c8c4d13e8b21a8989e7ccd6af30840803b589ed20dd86084a4db880fba0d3bfa1fdcdd8d23e12de
|
|
||||||
|
Loading…
Reference in New Issue
Block a user