From: attilamolnar Date: Sun, 30 Sep 2012 22:50:08 +0000 (+0200) Subject: BanCache: Do one hash lookup in BanCacheManager::AddHit() X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;h=239a3bb0f86d2bb431e7d450c992ad7edfd584d7;hp=c5d1a7843ed016c374b21242fccaca47e04b5a37;p=user%2Fhenk%2Fcode%2Finspircd.git BanCache: Do one hash lookup in BanCacheManager::AddHit() --- 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; }