From 72d1c53dad5a605526ae26bb3d5cf5a8db26b476 Mon Sep 17 00:00:00 2001 From: Yonas Habteab Date: Wed, 22 Jan 2025 16:32:11 +0100 Subject: [PATCH] Don't use C++ 17 features/syntax --- lib/base/dependencygraph.cpp | 8 +++++--- lib/remote/apilistener-configsync.cpp | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/base/dependencygraph.cpp b/lib/base/dependencygraph.cpp index d209e77b6c..898af0c177 100644 --- a/lib/base/dependencygraph.cpp +++ b/lib/base/dependencygraph.cpp @@ -10,8 +10,9 @@ DependencyGraph::DependencyMap DependencyGraph::m_Dependencies; void DependencyGraph::AddDependency(ConfigObject* child, ConfigObject* parent) { std::unique_lock lock(m_Mutex); - if (auto [it, inserted] = m_Dependencies.insert(Edge(parent, child)); !inserted) { - m_Dependencies.modify(it, [](Edge& e) { e.count++; }); + auto pair = m_Dependencies.insert(Edge(parent, child)); + if (!pair.second) { + m_Dependencies.modify(pair.first, [](Edge& e) { e.count++; }); } } @@ -19,7 +20,8 @@ void DependencyGraph::RemoveDependency(ConfigObject* child, ConfigObject* parent { std::unique_lock lock(m_Mutex); - if (auto it(m_Dependencies.find(Edge(parent, child))); it != m_Dependencies.end()) { + auto it(m_Dependencies.find(Edge(parent, child))); + if (it != m_Dependencies.end()) { if (it->count > 1) { // Remove a duplicate edge from child to node, i.e. decrement the corresponding counter. m_Dependencies.modify(it, [](Edge& e) { e.count--; }); diff --git a/lib/remote/apilistener-configsync.cpp b/lib/remote/apilistener-configsync.cpp index 14da967546..625dfb0408 100644 --- a/lib/remote/apilistener-configsync.cpp +++ b/lib/remote/apilistener-configsync.cpp @@ -501,7 +501,8 @@ void ApiListener::SendRuntimeConfigObjects(const JsonRpcConnection::Ptr& aclient std::unordered_set syncedObjects; for (const Type::Ptr& type : Type::GetAllTypes()) { - if (auto *ctype = dynamic_cast(type.get())) { + auto *ctype = dynamic_cast(type.get()); + if (ctype) { for (const auto& object : ctype->GetObjects()) { // All objects must be synced sorted by their dependency graph. // Otherwise, downtimes/comments etc. might get synced before their respective Checkables, which will