From 5597ba5c444aa28a8a7c369665dc48c4b3117044 Mon Sep 17 00:00:00 2001 From: ComixHe Date: Tue, 17 Oct 2023 14:37:03 +0800 Subject: [PATCH] fix: compatible with gcc 11 Signed-off-by: ComixHe --- src/applicationmimeinfo.cpp | 14 +++++++------- tests/data/hooks.d/1-test.json | 2 +- tests/ut_hook.cpp | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/applicationmimeinfo.cpp b/src/applicationmimeinfo.cpp index 7264490..94bf76e 100644 --- a/src/applicationmimeinfo.cpp +++ b/src/applicationmimeinfo.cpp @@ -5,7 +5,7 @@ #include "applicationmimeinfo.h" #include "global.h" -constexpr decltype(auto) desktopSuffix = u8".desktop"; +constexpr std::array desktopSuffix{u8".desktop"}; QStringList getListFiles() noexcept { @@ -60,7 +60,7 @@ QString toString(const MimeContent &content) noexcept QString removeDesktopSuffix(const QString &str) noexcept { - return str.chopped(sizeof(desktopSuffix) - 1); + return str.chopped(desktopSuffix.size() - 1); } } // namespace @@ -140,7 +140,7 @@ void MimeApps::insertToSection(const QString §ion, const QString &mimeType, targetSection = map.insert(section, {}); } - QStringList newApps{appId + desktopSuffix}; + QStringList newApps{QString{appId}.append(desktopSuffix.data())}; auto oldApps = targetSection->find(mimeType); if (oldApps != targetSection->end()) { newApps.append(*oldApps); @@ -168,7 +168,7 @@ void MimeApps::setDefaultApplication(const QString &mimeType, const QString &app defaultSection = map.insert(defaultApplications, {}); } - defaultSection->insert(mimeType, {appId + desktopSuffix}); + defaultSection->insert(mimeType, {QString{appId}.append(desktopSuffix.data())}); } void MimeApps::unsetDefaultApplication(const QString &mimeType) noexcept @@ -186,7 +186,7 @@ void MimeApps::unsetDefaultApplication(const QString &mimeType) noexcept AppList MimeApps::queryTypes(QString appId) const noexcept { AppList ret; - appId.append(desktopSuffix); + appId.append(desktopSuffix.data()); const auto &lists = content(); if (const auto &adds = lists.constFind(addedAssociations); adds != lists.cend()) { @@ -258,7 +258,7 @@ QString MimeApps::queryDefaultApp(const QMimeType &type) const noexcept QStringList MimeCache::queryTypes(QString appId) const noexcept { QStringList ret; - appId.append(desktopSuffix); + appId.append(desktopSuffix.data()); const auto &cache = content()[mimeCache]; for (auto it = cache.constKeyValueBegin(); it != cache.constKeyValueEnd(); ++it) { if (it->second.contains(appId)) { @@ -297,7 +297,7 @@ QStringList MimeCache::queryApps(const QMimeType &type) const noexcept if (auto kv = it->constFind(type.name()); kv != it->constEnd()) { const auto &apps = kv.value(); for (const auto &e : apps) { - if (!e.endsWith(desktopSuffix)) { + if (!e.endsWith(desktopSuffix.data())) { continue; } ret.append(removeDesktopSuffix(e)); diff --git a/tests/data/hooks.d/1-test.json b/tests/data/hooks.d/1-test.json index e1953e5..88b7af2 100644 --- a/tests/data/hooks.d/1-test.json +++ b/tests/data/hooks.d/1-test.json @@ -1,5 +1,5 @@ { - "Exec": "/usr/bin/echo", + "Exec": "/usr/bin/stat", "Args": [ "for test" ] diff --git a/tests/ut_hook.cpp b/tests/ut_hook.cpp index d4a75f3..28b9fc4 100644 --- a/tests/ut_hook.cpp +++ b/tests/ut_hook.cpp @@ -14,12 +14,12 @@ TEST(ApplicationHookTest, load) auto hook = ApplicationHook::loadFromFile(file); EXPECT_TRUE(hook); EXPECT_EQ(hook->hookName(), QString{"1-test.json"}); - EXPECT_EQ(hook->execPath(), QString{"/usr/bin/echo"}); + EXPECT_EQ(hook->execPath(), QString{"/usr/bin/stat"}); QStringList tmp{"for test"}; EXPECT_EQ(hook->args(), tmp); - tmp.push_front("/usr/bin/echo"); + tmp.push_front("/usr/bin/stat"); auto elem = generateHooks({std::move(hook).value()}); EXPECT_EQ(elem, tmp); }