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