From 239a3bb0f86d2bb431e7d450c992ad7edfd584d7 Mon Sep 17 00:00:00 2001 From: attilamolnar Date: Mon, 1 Oct 2012 00:50:08 +0200 Subject: [PATCH] BanCache: Do one hash lookup in BanCacheManager::AddHit() --- src/bancache.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/bancache.cpp b/src/bancache.cpp index 72f8728d3..a797335d1 100644 --- a/src/bancache.cpp +++ b/src/bancache.cpp @@ -25,14 +25,11 @@ BanCacheHit *BanCacheManager::AddHit(const std::string &ip, const std::string &type, const std::string &reason, time_t seconds) { - BanCacheHit *b; - - if (this->BanHash->find(ip) != this->BanHash->end()) // can't have two cache entries on the same IP, sorry.. + BanCacheHit*& b = (*BanHash)[ip]; + if (b != NULL) // can't have two cache entries on the same IP, sorry.. return NULL; - b = new BanCacheHit(ip, type, reason, (seconds ? seconds : 86400)); - - this->BanHash->insert(std::make_pair(ip, b)); + b = new BanCacheHit(type, reason, (seconds ? seconds : 86400)); return b; } -- 2.39.2