rebase to 1.9.2

This commit is contained in:
Than Ngo 2021-08-19 13:06:43 +02:00
parent 5f8d9f7800
commit 79be305ff0
7 changed files with 7 additions and 160 deletions

1
.gitignore vendored
View File

@ -53,3 +53,4 @@ doxygen-1.7.1.src.tar.gz
/doxygen-1.8.18.src.tar.gz
/doxywizard-icons.tar.xz
/doxygen-1.9.1.src.tar.gz
/doxygen-1.9.2.src.tar.gz

View File

@ -1,22 +0,0 @@
diff -up doxygen/src/configimpl.l.orig doxygen/src/configimpl.l
--- doxygen/src/configimpl.l.orig 2021-01-19 17:25:00.933789247 +0100
+++ doxygen/src/configimpl.l 2021-01-19 17:26:09.704744240 +0100
@@ -1175,8 +1175,7 @@ static void substEnvVarsInStrList(String
for (const auto &s : sl)
{
QCString result = s.c_str();
- // an argument with quotes will have an extra space at the end, so wasQuoted will be TRUE.
- bool wasQuoted = (result.find(' ')!=-1) || (result.find('\t')!=-1);
+ bool wasQuoted = (result.find(' ')!=-1) || (result.find('\t')!=-1) || (result.find('"')!=-1);
// here we strip the quote again
substEnvVarsInString(result);
@@ -1229,7 +1228,7 @@ static void substEnvVarsInStrList(String
}
if (p!=l) // add the leftover as a string
{
- results.push_back(result.right(l-p).data());
+ results.push_back(result.right(l-p).str());
}
}
else // just goto the next element in the list

View File

@ -1,64 +0,0 @@
commit 3b15963316b59cd1af3468a43535d90343916ffb
Author: Dimitri van Heesch <doxygen@gmail.com>
Date: Mon Jan 18 19:59:16 2021 +0100
issue #8343: doxygen-1.9.1 crashes when parsing config file
diff --git a/src/configimpl.l b/src/configimpl.l
index 7f73ec01..56a2e108 100644
--- a/src/configimpl.l
+++ b/src/configimpl.l
@@ -1210,7 +1210,7 @@ static void substEnvVarsInStrList(StringVector &sl)
c=result.at(i);
if (c=='"') // end quote
{
- results.push_back(result.mid(p,i-p).data());
+ results.push_back(result.mid(p,i-p).str());
p=i+1;
break;
}
@@ -1222,7 +1222,7 @@ static void substEnvVarsInStrList(StringVector &sl)
}
else if (c==' ' || c=='\t') // separator
{
- if (i>p) results.push_back(result.mid(p,i-p).data());
+ if (i>p) results.push_back(result.mid(p,i-p).str());
p=i+1;
}
}
@@ -1234,7 +1234,7 @@ static void substEnvVarsInStrList(StringVector &sl)
}
else // just goto the next element in the list
{
- if (!result.isEmpty()) results.push_back(result.data());
+ if (!result.isEmpty()) results.push_back(result.str());
}
}
sl = results;
@@ -1409,7 +1409,7 @@ static void cleanUpPaths(StringVector &str)
QFileInfo fi(path.c_str());
if (fi.exists() && fi.isDir())
{
- path = fi.absFilePath().utf8().data();
+ path = fi.absFilePath().utf8().str();
if (path[path.size()-1]!='/') path+='/';
}
}
@@ -1545,7 +1545,7 @@ void Config::checkAndCorrect()
QString p = QDir::currentDirPath();
if (p.at(p.length()-1)!='/')
p.append('/');
- stripFromPath.push_back(p.utf8().data());
+ stripFromPath.push_back(p.utf8().str());
}
else
{
@@ -1882,7 +1882,7 @@ void Config::checkAndCorrect()
if (inputSources.empty())
{
// use current dir as the default
- inputSources.push_back(QDir::currentDirPath().utf8().data());
+ inputSources.push_back(QDir::currentDirPath().utf8().str());
}
else
{

View File

@ -1,49 +0,0 @@
diff -up doxygen-1.9.1/src/context.cpp.me doxygen-1.9.1/src/context.cpp
--- doxygen-1.9.1/src/context.cpp.me 2021-02-10 10:56:44.575251899 +0100
+++ doxygen-1.9.1/src/context.cpp 2021-02-10 10:57:54.522809720 +0100
@@ -4062,11 +4062,11 @@ class MemberContext::Private : public De
s_inst.addProperty("nameWithContextFor", &Private::nameWithContextFor);
init=TRUE;
}
- if (md && !md->cookie()) { md->setCookie(new MemberContext::Private::Cachable(md)); }
+ if (!md->cookie()) { md->setCookie(new MemberContext::Private::Cachable(md)); }
Cachable &cache = getCache();
cache.propertyAttrs.reset(TemplateList::alloc());
- if (md && md->isProperty())
+ if (md->isProperty())
{
if (md->isGettable()) cache.propertyAttrs->append("get");
if (md->isPrivateGettable()) cache.propertyAttrs->append("private get");
@@ -4076,7 +4076,7 @@ class MemberContext::Private : public De
if (md->isProtectedSettable()) cache.propertyAttrs->append("protected set");
}
cache.eventAttrs.reset(TemplateList::alloc());
- if (md && md->isEvent())
+ if (md->isEvent())
{
if (md->isAddable()) cache.eventAttrs->append("add");
if (md->isRemovable()) cache.eventAttrs->append("remove");
diff -up doxygen-1.9.1/src/docparser.cpp.me doxygen-1.9.1/src/docparser.cpp
--- doxygen-1.9.1/src/docparser.cpp.me 2021-02-10 10:58:11.491500540 +0100
+++ doxygen-1.9.1/src/docparser.cpp 2021-02-10 11:00:35.905512597 +0100
@@ -1524,7 +1524,7 @@ reparsetoken:
{
QCString scope;
doctokenizerYYsetStateSetScope();
- doctokenizerYYlex();
+ (void)doctokenizerYYlex();
scope = g_token->name;
g_context = scope;
//printf("Found scope='%s'\n",scope.data());
diff -up doxygen-1.9.1/src/dotgroupcollaboration.cpp.me doxygen-1.9.1/src/dotgroupcollaboration.cpp
--- doxygen-1.9.1/src/dotgroupcollaboration.cpp.me 2021-02-10 11:01:10.588530954 +0100
+++ doxygen-1.9.1/src/dotgroupcollaboration.cpp 2021-02-10 11:02:54.216221350 +0100
@@ -309,6 +309,7 @@ void DotGroupCollaboration::Edge::write(
{
if (first) first=FALSE; else t << "\\n";
t << DotNode::convertLabel(link->label);
+ count++;
}
if (count==maxLabels) t << "\\n...";
t << "\"";

View File

@ -1,12 +0,0 @@
diff -up doxygen-1.9.1/src/docparser.cpp.me doxygen-1.9.1/src/docparser.cpp
--- doxygen-1.9.1/src/docparser.cpp.me 2021-02-10 10:52:09.481086282 +0100
+++ doxygen-1.9.1/src/docparser.cpp 2021-02-10 10:55:32.418781686 +0100
@@ -951,7 +951,7 @@ static void handlePendingStyleCommands(D
children.append(new DocStyleChange(parent,g_nodeStack.count(),sc->style(),sc->tagName(),FALSE));
g_initialStyleStack.push(sc);
g_styleStack.pop();
- sc = g_styleStack.top();
+ sc = !g_styleStack.isEmpty() ? g_styleStack.top() : 0;
}
}
}

View File

@ -1,9 +1,3 @@
# doxygen is known not to work properly with LTO at this point. Some of the issues
# are being worked on upstream and disabling LTO should be re-evaluated as
# we update this change. Until such time...
# Disable LTO
%global _lto_cflags %{nil}
%if 0%{?fedora}
%global xapian_core_support ON
%global clang_support ON
@ -15,8 +9,8 @@
Summary: A documentation system for C/C++
Name: doxygen
Epoch: 1
Version: 1.9.1
Release: 11%{?dist}
Version: 1.9.2
Release: 1%{?dist}
# No version is specified.
License: GPL+
@ -27,10 +21,6 @@ Source1: doxywizard.desktop
# these icons are part of doxygen and converted from doxywizard.ico
Source2: doxywizard-icons.tar.xz
# upstream patches
Patch1: doxgen-1.9.1-crash-when-parsing-config-file.patch
Patch2: doxgen-1.9.1-crash-when-parsing-config-file-part2.patch
Patch3: doxygen-1.9.1-Coverity_issues.patch
Patch4: doxygen-1.9.1-crash_in_docparser.patch
BuildRequires: %{_bindir}/python3
BuildRequires: gcc-c++ gcc
@ -304,6 +294,9 @@ desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1}
%endif
%changelog
* Thu Aug 19 2021 Than Ngo <than@redhat.com> - 1:1.9.2-1
- rebase to 1.9.2
* Tue Aug 17 2021 Björn Esser <besser82@fedoraproject.org> - 1:1.9.1-11
- Rebuild for clang-13.0.0

View File

@ -1,2 +1,2 @@
SHA512 (doxywizard-icons.tar.xz) = 865a86d7535e64ad92e36ba1f901d51cd6b603e762e5c68761a45bc1f965a36e6a6c8d29468ecb2ec799f0add2347537723832aff6660c76af453f80a0a370ad
SHA512 (doxygen-1.9.1.src.tar.gz) = 637496c549a4a150cfaeb5d4913de512262145ecd7d455d7b7f3dd68f9416e47d931a6c1efd8a17d931e4baf4a8a9f2ed21124664003b123b6f89ca4abf263ed
SHA512 (doxygen-1.9.2.src.tar.gz) = 2729d013b0363a919bbf6babd300389b76e95dd9dbb16ac0f57fc5a0392d3e2076ea4fba958a236311513e68e4aa056a77bd22c9c92b410a17eed095e5adccc0