From 25b6df5355ef8921fda9ef0b002ac28e269e6642 Mon Sep 17 00:00:00 2001 From: Adrien Beraud <adrien.beraud@savoirfairelinux.com> Date: Wed, 5 Apr 2017 17:36:17 +0200 Subject: [PATCH] removeExpiredNode: cleanup --- src/dht.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/dht.cpp b/src/dht.cpp index d830a904..0b49433d 100644 --- a/src/dht.cpp +++ b/src/dht.cpp @@ -670,10 +670,8 @@ struct Dht::Search { * @return true if a node has been removed, else false. */ bool removeExpiredNode(time_point now) { - auto e = nodes.end(); - while (e != nodes.cbegin()) { - e = std::prev(e); - const Node& n = *e->node; + for (auto e = nodes.cend(); e != nodes.cbegin();) { + const Node& n = *(--e)->node; if (n.isExpired() and n.time + Node::NODE_EXPIRE_TIME < now) { //std::cout << "Removing expired node " << n.id << " from IPv" << (af==AF_INET?'4':'6') << " search " << id << std::endl; nodes.erase(e); -- GitLab