From 8aa7f73bd76d5faacbfef59b308de7314d926fbf Mon Sep 17 00:00:00 2001 From: brain Date: Thu, 12 Jan 2006 20:14:43 +0000 Subject: Changed channel user lists from vector to map git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2780 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/channels.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'src/channels.cpp') diff --git a/src/channels.cpp b/src/channels.cpp index c51321a64..a1a7d60fa 100644 --- a/src/channels.cpp +++ b/src/channels.cpp @@ -160,25 +160,23 @@ long chanrec::GetUserCounter() void chanrec::AddUser(char* castuser) { - internal_userlist.push_back(castuser); + internal_userlist[castuser] = castuser; log(DEBUG,"Added casted user to channel's internal list"); } void chanrec::DelUser(char* castuser) { - for (std::vector::iterator a = internal_userlist.begin(); a < internal_userlist.end(); a++) + std::map::iterator a = internal_userlist.find(castuser); + if (a != internal_userlist.end()) { - if (*a == castuser) - { - log(DEBUG,"Removed casted user from channel's internal list"); - internal_userlist.erase(a); - return; - } + log(DEBUG,"Removed casted user from channel's internal list"); + internal_userlist.erase(a); + return; } log(DEBUG,"BUG BUG BUG! Attempt to remove an uncasted user from the internal list of %s!",name); } -std::vector *chanrec::GetUsers() +std::map *chanrec::GetUsers() { return &internal_userlist; } -- cgit v1.3.1-10-gc9f91