summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/channels.h6
-rw-r--r--include/users.h6
-rw-r--r--src/channels.cpp19
3 files changed, 20 insertions, 11 deletions
diff --git a/include/channels.h b/include/channels.h
index 2445d1188..76b604668 100644
--- a/include/channels.h
+++ b/include/channels.h
@@ -87,6 +87,11 @@ typedef std::vector<InviteItem> InviteList;
*/
typedef std::map<userrec*,userrec*> CUList;
+/** Shorthand for CUList::iterator
+ */
+typedef CUList::iterator CUListIter;
+typedef CUList::const_iterator CUListConstIter;
+
/** A list of custom modes parameters on a channel
*/
typedef std::map<char,char*> CustomModeList;
@@ -286,4 +291,3 @@ void kick_channel(userrec *src,userrec *user, chanrec *Ptr, char* reason);
void server_kick_channel(userrec* user, chanrec* Ptr, char* reason, bool triggerevents);
#endif
-
diff --git a/include/users.h b/include/users.h
index a5cba44b6..81ab1c844 100644
--- a/include/users.h
+++ b/include/users.h
@@ -109,6 +109,10 @@ typedef std::vector<Invited> InvitedList;
*/
typedef std::vector<ConnectClass> ClassVector;
+/** Typedef for the list of user-channel records for a user
+ */
+typedef std::vector<ucrec*> UserChanList;
+
/** Holds all information about a user
* This class stores all information about a user connected to the irc server. Everything about a
* connection is stored here primarily, from the user's socket ID (file descriptor) through to the
@@ -160,7 +164,7 @@ class userrec : public connection
*/
char modebits;
- std::vector<ucrec*> chans;
+ UserChanList chans;
/** The server the user is connected to.
*/
diff --git a/src/channels.cpp b/src/channels.cpp
index 45a12ee7a..dc42ea651 100644
--- a/src/channels.cpp
+++ b/src/channels.cpp
@@ -131,7 +131,8 @@ void chanrec::AddUser(userrec* user)
unsigned long chanrec::DelUser(userrec* user)
{
- CUList::iterator a = internal_userlist.find(user);
+ CUListIter a = internal_userlist.find(user);
+
if (a != internal_userlist.end())
{
internal_userlist.erase(a);
@@ -139,8 +140,8 @@ unsigned long chanrec::DelUser(userrec* user)
DelOppedUser(user);
DelHalfoppedUser(user);
DelVoicedUser(user);
- return internal_userlist.size();
}
+
return internal_userlist.size();
}
@@ -156,7 +157,7 @@ void chanrec::AddOppedUser(userrec* user)
void chanrec::DelOppedUser(userrec* user)
{
- CUList::iterator a = internal_op_userlist.find(user);
+ CUListIter a = internal_op_userlist.find(user);
if (a != internal_op_userlist.end())
{
internal_op_userlist.erase(a);
@@ -171,11 +172,11 @@ void chanrec::AddHalfoppedUser(userrec* user)
void chanrec::DelHalfoppedUser(userrec* user)
{
- CUList::iterator a = internal_halfop_userlist.find(user);
+ CUListIter a = internal_halfop_userlist.find(user);
+
if (a != internal_halfop_userlist.end())
{
internal_halfop_userlist.erase(a);
- return;
}
}
@@ -186,11 +187,11 @@ void chanrec::AddVoicedUser(userrec* user)
void chanrec::DelVoicedUser(userrec* user)
{
- CUList::iterator a = internal_voice_userlist.find(user);
+ CUListIter a = internal_voice_userlist.find(user);
+
if (a != internal_voice_userlist.end())
{
internal_voice_userlist.erase(a);
- return;
}
}
@@ -370,7 +371,7 @@ chanrec* add_channel(userrec *user, const char* cn, const char* key, bool overri
log(DEBUG,"Passed channel checks");
- for (std::vector<ucrec*>::const_iterator index = user->chans.begin(); index != user->chans.end(); index++)
+ for (UserChanList::const_iterator index = user->chans.begin(); index != user->chans.end(); index++)
{
if ((*index)->channel == NULL)
{
@@ -628,7 +629,7 @@ void kick_channel(userrec *src,userrec *user, chanrec *Ptr, char* reason)
FOREACH_MOD(I_OnUserKick,OnUserKick(src,user,Ptr,reason));
- for (std::vector<ucrec*>::const_iterator i = user->chans.begin(); i != user->chans.end(); i++)
+ for (UserChanList::const_iterator i = user->chans.begin(); i != user->chans.end(); i++)
{
/* zap it from the channel list of the user */
if ((*i)->channel && ((*i)->channel == Ptr))