summaryrefslogtreecommitdiff
path: root/src/config/ConfigManager.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-08-03 17:15:45 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-08-03 17:15:45 +0200
commit871c81ac1aa6b61e8af1cbbcf7c04de7b6659248 (patch)
tree57dc86cd8ce914a5687d9ad2523e1781948cf39d /src/config/ConfigManager.cpp
parent36e563c79c9acf26e49187f932c8617c08309b0e (diff)
erase instead of overwriting monitor rules
Diffstat (limited to 'src/config/ConfigManager.cpp')
-rw-r--r--src/config/ConfigManager.cpp16
1 files changed, 2 insertions, 14 deletions
diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp
index de8e87af..b8c0ab6e 100644
--- a/src/config/ConfigManager.cpp
+++ b/src/config/ConfigManager.cpp
@@ -433,13 +433,7 @@ void CConfigManager::handleMonitor(const std::string& command, const std::string
return;
}
- // overwrite if exists
- for (auto& r : m_dMonitorRules) {
- if (r.name == newrule.name) {
- r = newrule;
- return;
- }
- }
+ m_dMonitorRules.erase(std::remove_if(m_dMonitorRules.begin(), m_dMonitorRules.end(), [&](const auto& other) { return other.name == newrule.name; }));
m_dMonitorRules.push_back(newrule);
@@ -474,13 +468,7 @@ void CConfigManager::handleMonitor(const std::string& command, const std::string
return;
}
- // overwrite if exists
- for (auto& r : m_dMonitorRules) {
- if (r.name == newrule.name) {
- r = newrule;
- return;
- }
- }
+ m_dMonitorRules.erase(std::remove_if(m_dMonitorRules.begin(), m_dMonitorRules.end(), [&](const auto& other) { return other.name == newrule.name; }));
m_dMonitorRules.push_back(newrule);
}