summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2022-02-19 14:05:38 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2022-02-19 14:05:38 +0000
commit47e8477a2ea5983ba918c811a15a67c5b2cea25c (patch)
treeaed25aa486b562207ccbf77b9ec706ca94e74107
parentInstall ice to new standard path (diff)
downloadgentoobrowse-api-47e8477a2ea5983ba918c811a15a67c5b2cea25c.tar.bz2
gentoobrowse-api-47e8477a2ea5983ba918c811a15a67c5b2cea25c.tar.xz
gentoobrowse-api-47e8477a2ea5983ba918c811a15a67c5b2cea25c.zip
Fix first round of tools warnings
-rw-r--r--Jamroot.jam20
-rw-r--r--gentoobrowse-api/domain/unpackPqTextArray.ll7
-rw-r--r--gentoobrowse-api/service/Jamfile.jam4
-rw-r--r--gentoobrowse-api/service/depend.cpp8
-rw-r--r--gentoobrowse-api/service/maintenance/ebuildMetaProcessor.cpp2
-rw-r--r--gentoobrowse-api/service/maintenance/masksProcessor.cpp4
-rw-r--r--gentoobrowse-api/service/maintenance/updatesProcessor.cpp4
-rw-r--r--gentoobrowse-api/service/maintenance/useGlobalProcessor.cpp4
-rw-r--r--gentoobrowse-api/service/maintenance/useGroupProcessor.cpp4
-rw-r--r--gentoobrowse-api/service/maintenance/useLocalProcessor.cpp4
-rw-r--r--gentoobrowse-api/service/maintenanceCommon.cpp6
-rw-r--r--gentoobrowse-api/service/maintenanceGitOperations.cpp2
-rw-r--r--gentoobrowse-api/service/mask.cpp7
-rw-r--r--gentoobrowse-api/service/mask.h3
-rw-r--r--gentoobrowse-api/service/news.cpp26
-rw-r--r--gentoobrowse-api/service/notificationsimpl.cpp10
-rw-r--r--gentoobrowse-api/service/utils/ebuildCacheParser.h2
-rw-r--r--gentoobrowse-api/service/utils/git.cpp4
-rw-r--r--gentoobrowse-api/service/utils/git.h4
-rw-r--r--gentoobrowse-api/service/utils/splitEbuildProps.cpp2
-rw-r--r--gentoobrowse-api/service/utils/splitEbuildProps.h6
-rw-r--r--gentoobrowse-api/service/utils/xmlUtils.h2
-rw-r--r--gentoobrowse-api/service/wrap/domparser.h5
-rw-r--r--gentoobrowse-api/service/wrap/pragma.h7
-rw-r--r--gentoobrowse-api/service/wrap/regex.h5
-rw-r--r--gentoobrowse-api/service/wrap/ustring.h5
-rw-r--r--gentoobrowse-api/service/xsltStreamSerializer.cpp6
-rw-r--r--gentoobrowse-api/unittests/testBugs.cpp2
-rw-r--r--gentoobrowse-api/unittests/testMaintenance.cpp9
-rw-r--r--gentoobrowse-api/unittests/testMasks.cpp2
-rw-r--r--gentoobrowse-api/unittests/testNotifications.cpp2
-rw-r--r--gentoobrowse-api/unittests/testUtils.cpp4
32 files changed, 115 insertions, 67 deletions
diff --git a/Jamroot.jam b/Jamroot.jam
index 5913b40..6fb1bd3 100644
--- a/Jamroot.jam
+++ b/Jamroot.jam
@@ -17,10 +17,28 @@ project
<variant>release:<lto>on
<variant>debug:<warnings>extra
<variant>debug:<warnings-as-errors>on
+ <variant>debug:<cflags>-Wnon-virtual-dtor
+ <variant>debug:<cflags>-Wold-style-cast
+ <variant>debug:<cflags>-Wcast-align
+ <variant>debug:<cflags>-Wunused
+ <variant>debug:<cflags>-Woverloaded-virtual
+ <variant>debug:<cflags>-Wpedantic
+ <variant>debug:<cflags>-Wconversion
+ <variant>debug:<cflags>-Wsign-conversion
+ <variant>debug:<cflags>-Wnull-dereference
+ <variant>debug:<cflags>-Wdouble-promotion
+ <variant>debug:<cflags>-Wformat=2
+ <toolset>gcc,<variant>debug:<cflags>-Wduplicated-cond
+ <toolset>gcc,<variant>debug:<cflags>-Wduplicated-branches
+ <toolset>gcc,<variant>debug:<cflags>-Wlogical-op
+ <toolset>gcc,<variant>debug:<cflags>-Wuseless-cast
<variant>coverage:<coverage>on
<toolset>tidy:<define>ICE_IGNORE_VERSION
- <toolset>tidy:<exclude>cxxstd-17-iso/maintenance.h
+ <toolset>tidy:<define>ICE_MEMBER_IMPORT_EXPORT
+ <toolset>tidy:<exclude>cxxstd-20-iso/maintenance.h
<toolset>tidy:<exclude>unpackPqTextArray.cpp
+ <toolset>tidy:<librarydef>boost
+ <toolset>tidy:<librarydef>std
;
build-project gentoobrowse-api ;
diff --git a/gentoobrowse-api/domain/unpackPqTextArray.ll b/gentoobrowse-api/domain/unpackPqTextArray.ll
index 627e142..d212d58 100644
--- a/gentoobrowse-api/domain/unpackPqTextArray.ll
+++ b/gentoobrowse-api/domain/unpackPqTextArray.ll
@@ -10,8 +10,15 @@
%{
#include "unpackPqTextArray.h"
#include <boost/algorithm/string/trim.hpp>
+#pragma GCC diagnostic ignored "-Wconversion"
#pragma GCC diagnostic ignored "-Wsign-compare"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
+#pragma GCC diagnostic ignored "-Wold-style-cast"
+#if __clang__
+#pragma GCC diagnostic ignored "-Wnull-conversion"
+#else
+#pragma GCC diagnostic ignored "-Wuseless-cast"
+#endif
%}
begin "{"
diff --git a/gentoobrowse-api/service/Jamfile.jam b/gentoobrowse-api/service/Jamfile.jam
index a5713e1..b2edc55 100644
--- a/gentoobrowse-api/service/Jamfile.jam
+++ b/gentoobrowse-api/service/Jamfile.jam
@@ -4,8 +4,8 @@ import generators : register-standard ;
type.register XSLT : xslt ;
-generators.register-standard xxd.i : XSLT : C H ;
-generators.register-standard xxd.i : CSS : C H ;
+generators.register-standard xxd.i : XSLT : CPP H ;
+generators.register-standard xxd.i : CSS : CPP H ;
actions xxd.i
{
diff --git a/gentoobrowse-api/service/depend.cpp b/gentoobrowse-api/service/depend.cpp
index 15588d8..8b2e29b 100644
--- a/gentoobrowse-api/service/depend.cpp
+++ b/gentoobrowse-api/service/depend.cpp
@@ -1,5 +1,5 @@
#include "depend.h"
-#include <boost/algorithm/string/split.hpp>
+#include "wrap/regex.h"
#include <lexer-regex.h>
AdHoc::Lexer::PatternPtr WhenUse_Begin(
@@ -16,7 +16,7 @@ AdHoc::Lexer::PatternPtr AtomSpec(AdHoc::LexerMatchers::regex(
"(-([0-9][.0-9]*[[:alpha:]]?\\*?((_(alpha|beta|pre|rc|p))?[[:digit:]]*)*(-r[[:digit:]]+)?))?" // version
"(:([^/ []+(\\/[^ []+)?))?" // slot
"(\\[([^]]+)\\])?(\\s+|$)",
- (GRegexCompileFlags)(G_REGEX_OPTIMIZE | G_REGEX_UNGREEDY))); // use
+ static_cast<GRegexCompileFlags>(G_REGEX_OPTIMIZE | G_REGEX_UNGREEDY))); // use
const std::string InWhen("InWhen");
const std::string InOr("InOr");
@@ -39,9 +39,7 @@ namespace Portage {
{
std::vector<T> rtn;
if (x) {
- boost::algorithm::split(rtn, *x, [](auto c) {
- return c == ',';
- });
+ Glib::Regex::split_simple(",", *x).assign_to(rtn);
std::sort(rtn.begin(), rtn.end());
}
return rtn;
diff --git a/gentoobrowse-api/service/maintenance/ebuildMetaProcessor.cpp b/gentoobrowse-api/service/maintenance/ebuildMetaProcessor.cpp
index 6bcf149..ae241b1 100644
--- a/gentoobrowse-api/service/maintenance/ebuildMetaProcessor.cpp
+++ b/gentoobrowse-api/service/maintenance/ebuildMetaProcessor.cpp
@@ -3,9 +3,9 @@
#include "utils/dbUtils.h"
#include "utils/ebuildCacheParser.h"
#include "utils/splitEbuildProps.h"
+#include "wrap/regex.h"
#include <boost/algorithm/string/join.hpp>
#include <boost/date_time/posix_time/conversion.hpp>
-#include <glibmm/regex.h>
#include <modifycommand.h>
#include <optionalUtils.h>
#include <selectcommandUtil.impl.h>
diff --git a/gentoobrowse-api/service/maintenance/masksProcessor.cpp b/gentoobrowse-api/service/maintenance/masksProcessor.cpp
index 86c9c1f..242f3ac 100644
--- a/gentoobrowse-api/service/maintenance/masksProcessor.cpp
+++ b/gentoobrowse-api/service/maintenance/masksProcessor.cpp
@@ -3,10 +3,10 @@
#include "sql/maintenance/masksFixDates.sql.h"
#include "sql/maintenance/masksSets.sql.h"
#include "utils/dbUtils.h"
+#include "wrap/regex.h"
#include <boost/algorithm/string/join.hpp>
#include <boost/algorithm/string/trim.hpp>
#include <fileUtils.h>
-#include <glibmm/regex.h>
#include <mask.h>
#include <modifycommand.h>
#include <sqlWriter.h>
@@ -70,7 +70,7 @@ namespace Gentoo {
}
DB::ModifyCommand * i;
};
- MaskInserter(tempTable.second.get()).extract((gchar *)f.data, f.getStat().st_size);
+ MaskInserter(tempTable.second.get()).extract(f.sv<gchar>().data(), f.sv<gchar>().length());
// Dates are hand-typed and sometimes typos occur... ensure they're at
// least within the range of Boost ptimes.
while (sql::maintenance::masksFixDates.modify(dbc)->execute())
diff --git a/gentoobrowse-api/service/maintenance/updatesProcessor.cpp b/gentoobrowse-api/service/maintenance/updatesProcessor.cpp
index df51460..c56bc55 100644
--- a/gentoobrowse-api/service/maintenance/updatesProcessor.cpp
+++ b/gentoobrowse-api/service/maintenance/updatesProcessor.cpp
@@ -1,12 +1,12 @@
#include "updatesProcessor.h"
#include "utils/dbUtils.h"
#include "utils/entityWhereFilter.h"
+#include "wrap/regex.h"
#include <boost/algorithm/string/join.hpp>
#include <boost/algorithm/string/predicate.hpp>
#include <buffer.h>
#include <fileUtils.h>
#include <fstream>
-#include <glibmm/regex.h>
#include <modifycommand.h>
#include <selectcommandUtil.impl.h>
#include <sql/maintenance/categoryInsert.sql.h>
@@ -150,7 +150,7 @@ namespace Gentoo {
DB::Connection * dbc, int64_t, const StringList & fn, const std::filesystem::path & path)
{
AdHoc::FileUtils::MemMap u(path);
- Glib::ustring d(std::string(reinterpret_cast<const char *>(u.data), u.getStat().st_size));
+ Glib::ustring d(std::string(u.sv()));
Glib::MatchInfo matches;
auto i = Utils::Database::tablePatchInserter(dbc, *up);
i->bindParamS(4, fn.back().c_str());
diff --git a/gentoobrowse-api/service/maintenance/useGlobalProcessor.cpp b/gentoobrowse-api/service/maintenance/useGlobalProcessor.cpp
index 2ab2632..6f0775b 100644
--- a/gentoobrowse-api/service/maintenance/useGlobalProcessor.cpp
+++ b/gentoobrowse-api/service/maintenance/useGlobalProcessor.cpp
@@ -1,7 +1,7 @@
#include "useGlobalProcessor.h"
#include "utils/dbUtils.h"
+#include "wrap/regex.h"
#include <fileUtils.h>
-#include <glibmm/regex.h>
#include <modifycommand.h>
#include <tablepatch.h>
@@ -46,7 +46,7 @@ namespace Gentoo {
p.cols = {"use", "description"};
AdHoc::FileUtils::MemMap u(path);
- Glib::ustring d(std::string(reinterpret_cast<const char *>(u.data), u.getStat().st_size));
+ Glib::ustring d(std::string(u.sv()));
Glib::MatchInfo matches;
auto i = Utils::Database::tablePatchInserter(dbc, p);
for (useDesc->match(d, matches); matches.get_match_count() == 3; matches.next()) {
diff --git a/gentoobrowse-api/service/maintenance/useGroupProcessor.cpp b/gentoobrowse-api/service/maintenance/useGroupProcessor.cpp
index c213c26..d42f740 100644
--- a/gentoobrowse-api/service/maintenance/useGroupProcessor.cpp
+++ b/gentoobrowse-api/service/maintenance/useGroupProcessor.cpp
@@ -4,9 +4,9 @@
#include "sql/maintenance/useGroupsInsert.sql.h"
#include "utils/dbUtils.h"
#include "utils/entityWhereFilter.h"
+#include "wrap/regex.h"
#include <boost/algorithm/string/predicate.hpp>
#include <fileUtils.h>
-#include <glibmm/regex.h>
#include <modifycommand.h>
#include <selectcommandUtil.impl.h>
#include <tablepatch.h>
@@ -69,7 +69,7 @@ namespace Gentoo {
p.where = &gwf;
AdHoc::FileUtils::MemMap u(path);
- Glib::ustring d(std::string(reinterpret_cast<const char *>(u.data), u.getStat().st_size));
+ Glib::ustring d(std::string(u.sv()));
Glib::MatchInfo matches;
auto i = Utils::Database::tablePatchInserter(dbc, p);
i->bindParamI(2, useGroupId);
diff --git a/gentoobrowse-api/service/maintenance/useLocalProcessor.cpp b/gentoobrowse-api/service/maintenance/useLocalProcessor.cpp
index 5495b46..2379410 100644
--- a/gentoobrowse-api/service/maintenance/useLocalProcessor.cpp
+++ b/gentoobrowse-api/service/maintenance/useLocalProcessor.cpp
@@ -1,8 +1,8 @@
#include "useLocalProcessor.h"
#include "sql/maintenance/useLocalMap.sql.h"
#include "utils/dbUtils.h"
+#include "wrap/regex.h"
#include <fileUtils.h>
-#include <glibmm/regex.h>
#include <modifycommand.h>
#include <sqlWriter.h>
#include <tablepatch.h>
@@ -51,7 +51,7 @@ namespace Gentoo {
p.cols = {"packageId", "use", "description"};
AdHoc::FileUtils::MemMap u(path);
- Glib::ustring d(std::string(reinterpret_cast<const char *>(u.data), u.getStat().st_size));
+ Glib::ustring d(std::string(u.sv()));
Glib::MatchInfo matches;
auto i = tempTable.second;
for (useDesc->match(d, matches); matches.get_match_count() == 5; matches.next()) {
diff --git a/gentoobrowse-api/service/maintenanceCommon.cpp b/gentoobrowse-api/service/maintenanceCommon.cpp
index eb11648..77f77ae 100644
--- a/gentoobrowse-api/service/maintenanceCommon.cpp
+++ b/gentoobrowse-api/service/maintenanceCommon.cpp
@@ -98,10 +98,8 @@ namespace Gentoo {
return AdHoc::containerContains(t.categoryids, c->categoryid);
});
for (auto pid : t.packageids) {
- auto par = portage->getPackageAsync(pid);
- auto vsar = portage->getPackageVersionsAsync(pid);
- nc.packages.push_back(par.get());
- auto vs = vsar.get();
+ nc.packages.emplace_back(portage->getPackage(pid));
+ auto vs = portage->getPackageVersions(pid);
std::copy_if(vs.begin(), vs.end(), std::back_inserter(nc.ebuilds),
[&t](const Gentoo::EbuildPtr & v) {
return AdHoc::containerContains(t.ebuildids, v->ebuildid);
diff --git a/gentoobrowse-api/service/maintenanceGitOperations.cpp b/gentoobrowse-api/service/maintenanceGitOperations.cpp
index 503a1cf..28940da 100644
--- a/gentoobrowse-api/service/maintenanceGitOperations.cpp
+++ b/gentoobrowse-api/service/maintenanceGitOperations.cpp
@@ -67,7 +67,7 @@ namespace Gentoo {
// Collect all files change in commit from all parents
std::unique_ptr<git_tree, void (*)(git_tree *)> parentTree(nullptr, git_tree_free);
if (git_commit_parentcount(commit.get()) > 0) {
- auto parentCommit = gitSafeGet(git_commit_parent, git_commit_free, commit.get(), 0);
+ auto parentCommit = gitSafeGet(git_commit_parent, git_commit_free, commit.get(), 0U);
// Get parent tree
parentTree = gitSafeGet(git_commit_tree, git_tree_free, parentCommit.get());
}
diff --git a/gentoobrowse-api/service/mask.cpp b/gentoobrowse-api/service/mask.cpp
index 4d8975c..6f4d1ac 100644
--- a/gentoobrowse-api/service/mask.cpp
+++ b/gentoobrowse-api/service/mask.cpp
@@ -3,9 +3,10 @@
namespace Portage {
namespace Utils {
- static AdHoc::Lexer::PatternPtr maskHead = AdHoc::LexerMatchers::regex(
- "^# ([^<\n]+)? ?(<(.+?@[^\n>]+)>?)? \\((\\d{4}-\\d{2}-\\d{1,2})\\)$\n",
- (GRegexCompileFlags)(G_REGEX_OPTIMIZE | G_REGEX_CASELESS | G_REGEX_UNGREEDY | G_REGEX_MULTILINE));
+ static AdHoc::Lexer::PatternPtr maskHead
+ = AdHoc::LexerMatchers::regex("^# ([^<\n]+)? ?(<(.+?@[^\n>]+)>?)? \\((\\d{4}-\\d{2}-\\d{1,2})\\)$\n",
+ static_cast<GRegexCompileFlags>(
+ G_REGEX_OPTIMIZE | G_REGEX_CASELESS | G_REGEX_UNGREEDY | G_REGEX_MULTILINE));
static AdHoc::Lexer::PatternPtr maskDesc = AdHoc::LexerMatchers::regex("^# *([^\n]*)$\n", G_REGEX_MULTILINE);
static AdHoc::Lexer::PatternPtr atom = AdHoc::LexerMatchers::regex("^([^\n/]+/[^\n]*)$\n?", G_REGEX_MULTILINE);
static AdHoc::Lexer::PatternPtr end = AdHoc::LexerMatchers::regex("^\\s*$\n", G_REGEX_MULTILINE);
diff --git a/gentoobrowse-api/service/mask.h b/gentoobrowse-api/service/mask.h
index e4a3748..abdf6b0 100644
--- a/gentoobrowse-api/service/mask.h
+++ b/gentoobrowse-api/service/mask.h
@@ -1,7 +1,7 @@
#ifndef GENTOOBROWSE_SERVICE_MASK_H
#define GENTOOBROWSE_SERVICE_MASK_H
-#include <glibmm/ustring.h>
+#include "wrap/ustring.h"
#include <lexer.h>
#include <list>
#include <optional>
@@ -11,6 +11,7 @@ namespace Portage {
class Masks : public AdHoc::Lexer {
protected:
Masks();
+ virtual ~Masks() = default;
virtual void consume() const = 0;
diff --git a/gentoobrowse-api/service/news.cpp b/gentoobrowse-api/service/news.cpp
index 15877c0..62e33ef 100644
--- a/gentoobrowse-api/service/news.cpp
+++ b/gentoobrowse-api/service/news.cpp
@@ -2,22 +2,22 @@
#include <boost/algorithm/string/split.hpp>
#include <lexer-regex.h>
-AdHoc::Lexer::PatternPtr Title(
- AdHoc::LexerMatchers::regex("^Title: (.+)$\\s", (GRegexCompileFlags)(G_REGEX_OPTIMIZE | G_REGEX_MULTILINE)));
+AdHoc::Lexer::PatternPtr Title(AdHoc::LexerMatchers::regex(
+ "^Title: (.+)$\\s", static_cast<GRegexCompileFlags>(G_REGEX_OPTIMIZE | G_REGEX_MULTILINE)));
AdHoc::Lexer::PatternPtr DisplayIfInstalled(AdHoc::LexerMatchers::regex(
- "^Display-If-Installed: (.+)$\\s", (GRegexCompileFlags)(G_REGEX_OPTIMIZE | G_REGEX_MULTILINE)));
+ "^Display-If-Installed: (.+)$\\s", static_cast<GRegexCompileFlags>(G_REGEX_OPTIMIZE | G_REGEX_MULTILINE)));
AdHoc::Lexer::PatternPtr Author(AdHoc::LexerMatchers::regex(
- "^Author: (.+) <([^>]+)>$\\s", (GRegexCompileFlags)(G_REGEX_OPTIMIZE | G_REGEX_MULTILINE)));
-AdHoc::Lexer::PatternPtr Posted(AdHoc::LexerMatchers::regex(
- "^Posted: ([0-9]{4}-[0-9]{2}-[0-9]{2})$\\s", (GRegexCompileFlags)(G_REGEX_OPTIMIZE | G_REGEX_MULTILINE)));
-AdHoc::Lexer::PatternPtr IgnoredHeader(
- AdHoc::LexerMatchers::regex("^[^ :]+: .+$\\s", (GRegexCompileFlags)(G_REGEX_OPTIMIZE | G_REGEX_MULTILINE)));
+ "^Author: (.+) <([^>]+)>$\\s", static_cast<GRegexCompileFlags>(G_REGEX_OPTIMIZE | G_REGEX_MULTILINE)));
+AdHoc::Lexer::PatternPtr Posted(AdHoc::LexerMatchers::regex("^Posted: ([0-9]{4}-[0-9]{2}-[0-9]{2})$\\s",
+ static_cast<GRegexCompileFlags>(G_REGEX_OPTIMIZE | G_REGEX_MULTILINE)));
+AdHoc::Lexer::PatternPtr IgnoredHeader(AdHoc::LexerMatchers::regex(
+ "^[^ :]+: .+$\\s", static_cast<GRegexCompileFlags>(G_REGEX_OPTIMIZE | G_REGEX_MULTILINE)));
AdHoc::Lexer::PatternPtr BlankLine(
- AdHoc::LexerMatchers::regex("^$\\s", (GRegexCompileFlags)(G_REGEX_OPTIMIZE | G_REGEX_MULTILINE)));
-AdHoc::Lexer::PatternPtr BodyText(
- AdHoc::LexerMatchers::regex("^(.*)$\\s?", (GRegexCompileFlags)(G_REGEX_OPTIMIZE | G_REGEX_MULTILINE)));
-AdHoc::Lexer::PatternPtr Link(AdHoc::LexerMatchers::regex(
- "^\\[[[:digit:]]+\\] ([[:alpha:]]+://.*)$\\s?", (GRegexCompileFlags)(G_REGEX_OPTIMIZE | G_REGEX_MULTILINE)));
+ AdHoc::LexerMatchers::regex("^$\\s", static_cast<GRegexCompileFlags>(G_REGEX_OPTIMIZE | G_REGEX_MULTILINE)));
+AdHoc::Lexer::PatternPtr BodyText(AdHoc::LexerMatchers::regex(
+ "^(.*)$\\s?", static_cast<GRegexCompileFlags>(G_REGEX_OPTIMIZE | G_REGEX_MULTILINE)));
+AdHoc::Lexer::PatternPtr Link(AdHoc::LexerMatchers::regex("^\\[[[:digit:]]+\\] ([[:alpha:]]+://.*)$\\s?",
+ static_cast<GRegexCompileFlags>(G_REGEX_OPTIMIZE | G_REGEX_MULTILINE)));
const std::string Body("Body");
diff --git a/gentoobrowse-api/service/notificationsimpl.cpp b/gentoobrowse-api/service/notificationsimpl.cpp
index ad5ac91..76a0bfd 100644
--- a/gentoobrowse-api/service/notificationsimpl.cpp
+++ b/gentoobrowse-api/service/notificationsimpl.cpp
@@ -7,14 +7,16 @@
#include <slicer/slicer.h>
#include <string.h>
+#define BADCAST(str) reinterpret_cast<const unsigned char *>(str)
+
namespace Gentoo {
namespace Service {
xmlDocPtr
xsltDocLoaderFunc(const xmlChar * URI, xmlDictPtr, int, void *, xsltLoadType)
{
#define MATCH(name) \
- if (xmlStrcmp(URI, BAD_CAST #name ".xslt") == 0) { \
- return xmlParseMemory((char *)name##_xslt, name##_xslt_len); \
+ if (xmlStrcmp(URI, BADCAST(#name ".xslt")) == 0) { \
+ return xmlParseMemory(reinterpret_cast<const char *>(name##_xslt), static_cast<int>(name##_xslt_len)); \
}
MATCH(base)
MATCH(news)
@@ -26,8 +28,8 @@ namespace Gentoo {
Notifications::Notifications()
{
xsltSetLoaderFunc(&xsltDocLoaderFunc);
- news = xsltSSPtr(xsltParseStylesheetFile(BAD_CAST "news.xslt"), xsltFreeStylesheet);
- signup = xsltSSPtr(xsltParseStylesheetFile(BAD_CAST "signup.xslt"), xsltFreeStylesheet);
+ news = xsltSSPtr(xsltParseStylesheetFile(BADCAST("news.xslt")), xsltFreeStylesheet);
+ signup = xsltSSPtr(xsltParseStylesheetFile(BADCAST("signup.xslt")), xsltFreeStylesheet);
xsltSetLoaderFunc(NULL);
}
diff --git a/gentoobrowse-api/service/utils/ebuildCacheParser.h b/gentoobrowse-api/service/utils/ebuildCacheParser.h
index e881e53..4fed766 100644
--- a/gentoobrowse-api/service/utils/ebuildCacheParser.h
+++ b/gentoobrowse-api/service/utils/ebuildCacheParser.h
@@ -1,9 +1,9 @@
#ifndef GENTOOBROWSE_API_SERVICE_MAINTENANCE_EBUILDCACHEPARSER_H
#define GENTOOBROWSE_API_SERVICE_MAINTENANCE_EBUILDCACHEPARSER_H
+#include "wrap/ustring.h"
#include <fileUtils.h>
#include <filesystem>
-#include <glibmm/ustring.h>
#include <map>
#include <optional>
#include <string_view>
diff --git a/gentoobrowse-api/service/utils/git.cpp b/gentoobrowse-api/service/utils/git.cpp
index 1d7d9a8..b21edf2 100644
--- a/gentoobrowse-api/service/utils/git.cpp
+++ b/gentoobrowse-api/service/utils/git.cpp
@@ -35,7 +35,7 @@ namespace Gentoo {
GitAnnotatedCommitPtr
gitFetch(git_repository * repo, git_remote * remote, const char * remoteBranchName)
{
- auto opts = gitSafeGet(git_fetch_init_options, GIT_FETCH_OPTIONS_VERSION);
+ auto opts = gitSafeGet(git_fetch_init_options, static_cast<unsigned int>(GIT_FETCH_OPTIONS_VERSION));
opts.prune = GIT_FETCH_PRUNE;
opts.update_fetchhead = 1;
auto localBranch = gitSafeGet(git_repository_head, git_reference_free, repo);
@@ -57,7 +57,7 @@ namespace Gentoo {
const git_annotated_commit * heads[] = {fetch_head};
git_merge_analysis_t analysis = GIT_MERGE_ANALYSIS_NONE;
git_merge_preference_t preference = GIT_MERGE_PREFERENCE_FASTFORWARD_ONLY;
- gitSafe(git_merge_analysis, &analysis, &preference, repo, heads, 1);
+ gitSafe(git_merge_analysis, &analysis, &preference, repo, heads, 1LU);
auto head = gitSafeGet(git_repository_head, git_reference_free, repo);
if (analysis == GIT_MERGE_ANALYSIS_UP_TO_DATE) {
diff --git a/gentoobrowse-api/service/utils/git.h b/gentoobrowse-api/service/utils/git.h
index 7e2e66a..b9191e1 100644
--- a/gentoobrowse-api/service/utils/git.h
+++ b/gentoobrowse-api/service/utils/git.h
@@ -14,8 +14,8 @@ namespace Gentoo {
void
gitSafe(int (*func)(P...), A... p)
{
- if (int _giterror = func(p...) < 0) {
- throwError((void * const)func, _giterror);
+ if (int giterror_ = func(p...) < 0) {
+ throwError(reinterpret_cast<void * const>(func), giterror_);
}
}
diff --git a/gentoobrowse-api/service/utils/splitEbuildProps.cpp b/gentoobrowse-api/service/utils/splitEbuildProps.cpp
index 1f2c5ea..ec9df6b 100644
--- a/gentoobrowse-api/service/utils/splitEbuildProps.cpp
+++ b/gentoobrowse-api/service/utils/splitEbuildProps.cpp
@@ -6,7 +6,7 @@
namespace Gentoo {
namespace Utils {
SplitEbuildProps::SplitEbuildProps(
- const std::string & ce, int e, const std::string & cp, const std::optional<Glib::ustring> & p) :
+ const std::string & ce, int64_t e, const std::string & cp, const std::optional<Glib::ustring> & p) :
entityId(e),
colEntityName(ce), colPropName(cp), props(p)
{
diff --git a/gentoobrowse-api/service/utils/splitEbuildProps.h b/gentoobrowse-api/service/utils/splitEbuildProps.h
index 00ce910..3945b6a 100644
--- a/gentoobrowse-api/service/utils/splitEbuildProps.h
+++ b/gentoobrowse-api/service/utils/splitEbuildProps.h
@@ -1,7 +1,7 @@
#ifndef GENTOOBROWSE_API_SERVICE_MAINTENANCE_SPLITEBUILDPROPS_H
#define GENTOOBROWSE_API_SERVICE_MAINTENANCE_SPLITEBUILDPROPS_H
-#include <glibmm/ustring.h>
+#include "wrap/ustring.h"
#include <optional>
#include <sqlWriter.h>
@@ -10,12 +10,12 @@ namespace Gentoo {
class SplitEbuildProps : public DB::SqlWriter {
public:
SplitEbuildProps(
- const std::string & ce, int e, const std::string & cp, const std::optional<Glib::ustring> & p);
+ const std::string & ce, int64_t e, const std::string & cp, const std::optional<Glib::ustring> & p);
void writeSql(AdHoc::Buffer & sql) override;
void bindParams(DB::Command * c, unsigned int & offset) override;
- const int entityId;
+ const int64_t entityId;
const std::string colEntityName, colPropName;
const std::optional<Glib::ustring> props;
};
diff --git a/gentoobrowse-api/service/utils/xmlUtils.h b/gentoobrowse-api/service/utils/xmlUtils.h
index 26e5da0..51da33a 100644
--- a/gentoobrowse-api/service/utils/xmlUtils.h
+++ b/gentoobrowse-api/service/utils/xmlUtils.h
@@ -1,8 +1,8 @@
#ifndef GENTOOBROWSE_API_SERVICE_XMLUTILS_H
#define GENTOOBROWSE_API_SERVICE_XMLUTILS_H
+#include "wrap/domparser.h"
#include <filesystem>
-#include <libxml++/parsers/domparser.h>
#include <optional>
namespace Gentoo {
diff --git a/gentoobrowse-api/service/wrap/domparser.h b/gentoobrowse-api/service/wrap/domparser.h
new file mode 100644
index 0000000..3b0b588
--- /dev/null
+++ b/gentoobrowse-api/service/wrap/domparser.h
@@ -0,0 +1,5 @@
+#pragma once
+#pragma GCC diagnostic push
+#include "pragma.h"
+#include <libxml++/parsers/domparser.h>
+#pragma GCC diagnostic pop
diff --git a/gentoobrowse-api/service/wrap/pragma.h b/gentoobrowse-api/service/wrap/pragma.h
new file mode 100644
index 0000000..6c168ce
--- /dev/null
+++ b/gentoobrowse-api/service/wrap/pragma.h
@@ -0,0 +1,7 @@
+#pragma GCC diagnostic ignored "-Wold-style-cast"
+#pragma GCC diagnostic ignored "-Wsign-conversion"
+#ifdef __clang__
+# pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#else
+# pragma GCC diagnostic ignored "-Wuseless-cast"
+#endif
diff --git a/gentoobrowse-api/service/wrap/regex.h b/gentoobrowse-api/service/wrap/regex.h
new file mode 100644
index 0000000..bbd8e52
--- /dev/null
+++ b/gentoobrowse-api/service/wrap/regex.h
@@ -0,0 +1,5 @@
+#pragma once
+#pragma GCC diagnostic push
+#include "pragma.h"
+#include <glibmm/regex.h>
+#pragma GCC diagnostic pop
diff --git a/gentoobrowse-api/service/wrap/ustring.h b/gentoobrowse-api/service/wrap/ustring.h
new file mode 100644
index 0000000..5aa0916
--- /dev/null
+++ b/gentoobrowse-api/service/wrap/ustring.h
@@ -0,0 +1,5 @@
+#pragma once
+#pragma GCC diagnostic push
+#include "pragma.h"
+#include <glibmm/ustring.h>
+#pragma GCC diagnostic pop
diff --git a/gentoobrowse-api/service/xsltStreamSerializer.cpp b/gentoobrowse-api/service/xsltStreamSerializer.cpp
index 2abf599..b7fd624 100644
--- a/gentoobrowse-api/service/xsltStreamSerializer.cpp
+++ b/gentoobrowse-api/service/xsltStreamSerializer.cpp
@@ -15,14 +15,14 @@ namespace Gentoo {
static int
xmlstrmclosecallback(void * context)
{
- ((std::ostream *)context)->flush();
+ (static_cast<std::ostream *>(context))->flush();
return 0;
}
static int
xmlstrmwritecallback(void * context, const char * buffer, int len)
{
- ((std::ostream *)context)->write(buffer, len);
+ (static_cast<std::ostream *>(context))->write(buffer, len);
return len;
}
@@ -82,7 +82,7 @@ namespace Gentoo {
htmlNodeDumpFileFormat(lynxIn, result, xmlDocGetRootElement(result), "utf-8", 0);
fclose(lynxIn);
char buf[1024];
- int r;
+ ssize_t r;
while ((r = read(fds.fdOut(), buf, sizeof(buf))) > 0) {
strm.write(buf, r);
}
diff --git a/gentoobrowse-api/unittests/testBugs.cpp b/gentoobrowse-api/unittests/testBugs.cpp
index 175a800..a9c08e0 100644
--- a/gentoobrowse-api/unittests/testBugs.cpp
+++ b/gentoobrowse-api/unittests/testBugs.cpp
@@ -12,7 +12,7 @@ BOOST_AUTO_TEST_CASE(importBugHtml)
const int64_t expectedBugCount = 34;
m->refreshBugs();
- auto db = DB::ConnectionPtr(DB::MockDatabase::openConnectionTo("GentooBrowseAPI"));
+ auto db = DB::MockDatabase::openConnectionTo("GentooBrowseAPI");
SQL_REQUIRE_EQUAL("SELECT COUNT(*) FROM gentoobrowse.bugs", int64_t, expectedBugCount);
#if DUMPDB
db->execute("COPY gentoobrowse.bugs TO '/tmp/bugs.tsv'");
diff --git a/gentoobrowse-api/unittests/testMaintenance.cpp b/gentoobrowse-api/unittests/testMaintenance.cpp
index 6f4e040..b90c659 100644
--- a/gentoobrowse-api/unittests/testMaintenance.cpp
+++ b/gentoobrowse-api/unittests/testMaintenance.cpp
@@ -150,7 +150,7 @@ public:
BOOST_AUTO_TEST_CASE(refreshPackageTree)
{
- auto db = DB::ConnectionPtr(DB::MockDatabase::openConnectionTo("GentooBrowseAPI"));
+ auto db = DB::MockDatabase::openConnectionTo("GentooBrowseAPI");
auto insRepo = db->modify(
"INSERT INTO gentoobrowse.repos(name, path, upstream, branch, lastcommit) VALUES(?, ?, ?, ?, ?)");
insRepo->bindParamS(0, "gentoo");
@@ -238,7 +238,7 @@ create_initial_commit(git_repository * repo)
BOOST_AUTO_TEST_CASE(testUpdateGitRepository)
{
- auto db = DB::ConnectionPtr(DB::MockDatabase::openConnectionTo("GentooBrowseAPI"));
+ auto db = DB::MockDatabase::openConnectionTo("GentooBrowseAPI");
auto testRepo = binDir / "testrepo";
std::filesystem::remove_all(testRepo);
std::filesystem::create_directories(testRepo);
@@ -276,7 +276,8 @@ BOOST_AUTO_TEST_CASE(testUpdateGitRepository)
}
struct localPortageRepoIsComplete {
- boost::test_tools::assertion_result operator()(boost::unit_test::test_unit_id) const
+ boost::test_tools::assertion_result
+ operator()(boost::unit_test::test_unit_id) const
{
return !std::filesystem::exists("/usr/portage/.git/shallow");
}
@@ -284,7 +285,7 @@ struct localPortageRepoIsComplete {
BOOST_AUTO_TEST_CASE(testRefreshGitRepository, *boost::unit_test::precondition(localPortageRepoIsComplete {}))
{
- auto db = DB::ConnectionPtr(DB::MockDatabase::openConnectionTo("GentooBrowseAPI"));
+ auto db = DB::MockDatabase::openConnectionTo("GentooBrowseAPI");
auto insRepo = db->modify(
"INSERT INTO gentoobrowse.repos(name, path, upstream, branch, lastcommit) VALUES(?, ?, ?, ?, ?)");
insRepo->bindParamS(0, "gentoo");
diff --git a/gentoobrowse-api/unittests/testMasks.cpp b/gentoobrowse-api/unittests/testMasks.cpp
index 7f37d3b..055c83e 100644
--- a/gentoobrowse-api/unittests/testMasks.cpp
+++ b/gentoobrowse-api/unittests/testMasks.cpp
@@ -35,7 +35,7 @@ BOOST_AUTO_TEST_CASE(f1)
{
AdHoc::FileUtils::MemMap f(
rootDir / "fixtures" / "4156eb45cf3b0ce1d7125b84efd8688c2d6e831d" / "profiles" / "package.mask");
- extract((const gchar *)f.data, f.getStat().st_size);
+ extract(f.sv<gchar>().data(), f.sv<gchar>().length());
BOOST_CHECK_EQUAL(masks.size(), 151);
auto m = masks.front();
BOOST_CHECK(m->person);
diff --git a/gentoobrowse-api/unittests/testNotifications.cpp b/gentoobrowse-api/unittests/testNotifications.cpp
index c0f3162..1049b58 100644
--- a/gentoobrowse-api/unittests/testNotifications.cpp
+++ b/gentoobrowse-api/unittests/testNotifications.cpp
@@ -103,7 +103,7 @@ BOOST_AUTO_TEST_CASE(testNews)
commonAssert(e);
lintable_test_files("news", e);
auto [plainPart, htmlPart] = humanReadableParts(e);
- for (auto text : {plainPart, htmlPart}) {
+ for (const auto text : {plainPart, htmlPart}) {
BOOST_REQUIRE(text);
BOOST_REQUIRE(text->payload.find("Latest news") != std::string::npos);
BOOST_REQUIRE(
diff --git a/gentoobrowse-api/unittests/testUtils.cpp b/gentoobrowse-api/unittests/testUtils.cpp
index 6d66de5..8bf8ed2 100644
--- a/gentoobrowse-api/unittests/testUtils.cpp
+++ b/gentoobrowse-api/unittests/testUtils.cpp
@@ -14,10 +14,10 @@ BOOST_AUTO_TEST_CASE(gitErrorMessage)
xmlInitParser();
git_libgit2_init();
- BOOST_REQUIRE_THROW(gitSafeGet(git_repository_open_ext, git_repository_free, "/", 0, nullptr), Gentoo::GitError);
+ BOOST_REQUIRE_THROW(gitSafeGet(git_repository_open_ext, git_repository_free, "/", 0U, nullptr), Gentoo::GitError);
try {
- gitSafeGet(git_repository_open_ext, git_repository_free, "/", 0, nullptr);
+ gitSafeGet(git_repository_open_ext, git_repository_free, "/", 0U, nullptr);
}
catch (const Gentoo::GitError & ge) {
BOOST_TEST_CONTEXT(ge.what()) {