]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Fixed to use iterators
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Thu, 9 Mar 2006 11:34:47 +0000 (11:34 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Thu, 9 Mar 2006 11:34:47 +0000 (11:34 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3580 e03df62e-2008-0410-955e-edbf42e46eb7

src/channels.cpp
src/svn-rev.sh
src/users.cpp

index 1574ffc0bd0f7592692fdf235e7f6b9b4aaabe44..41759f2e2eb5b684216d6bcac9c7dfe4f03f444d 100644 (file)
@@ -373,11 +373,11 @@ chanrec* add_channel(userrec *user, const char* cn, const char* key, bool overri
 
        log(DEBUG,"Passed channel checks");
 
-       for (unsigned int index =0; index < user->chans.size(); index++)
+       for (std::vector<ucrec*>::const_iterator index = user->chans.begin(); index != user->chans.end(); index++)
        {
-               if (user->chans[index].channel == NULL)
+               if ((ucrec*)(*index)->channel == NULL)
                {
-                       return ForceChan(Ptr,user->chans[index],user,created);
+                       return ForceChan(Ptr,(ucrec*)(*index),user,created);
                }
        }
 
@@ -444,7 +444,7 @@ chanrec* ForceChan(chanrec* Ptr,ucrec *a,userrec* user, int created)
                a->uc_modes = 0;
        }
 
-       a.channel = Ptr;
+       a->channel = Ptr;
        Ptr->AddUser(user);
        WriteChannel(Ptr,user,"JOIN :%s",Ptr->name);
        log(DEBUG,"Sent JOIN to client");
@@ -548,7 +548,7 @@ void server_kick_channel(userrec* user, chanrec* Ptr, char* reason, bool trigger
 
        for (unsigned int i =0; i < user->chans.size(); i++)
        {
-               if ((user->chans[i]->channel) && (user->chans[i]->channel->name == Ptr))
+               if ((user->chans[i]->channel) && (user->chans[i]->channel == Ptr))
                {
                        WriteChannelWithServ(Config->ServerName,Ptr,"KICK %s %s :%s",Ptr->name, user->nick, reason);
                        user->chans[i]->uc_modes = 0;
@@ -627,15 +627,15 @@ void kick_channel(userrec *src,userrec *user, chanrec *Ptr, char* reason)
        }
 
        FOREACH_MOD(I_OnUserKick,OnUserKick(src,user,Ptr,reason));
-
-       for (unsigned int i =0; i < user->chans.size(); i++)
+                       
+       for (std::vector<ucrec*>::const_iterator i = user->chans.begin(); i != user->chans.end(); i++)
        {
                /* zap it from the channel list of the user */
-               if ((user->chans[i].channel) && (user->chans[i].channel == Ptr->name))
+               if ((((ucrec*)(*i))->channel) && (((ucrec*)(*i))->channel == Ptr))
                {
                        WriteChannel(Ptr,src,"KICK %s %s :%s",Ptr->name, user->nick, reason);
-                       user->chans[i].uc_modes = 0;
-                       user->chans[i].channel = NULL;
+                       ((ucrec*)(*i))->uc_modes = 0;
+                       ((ucrec*)(*i))->channel = NULL;
                        log(DEBUG,"del_channel: unlinked: %s %s",user->nick,Ptr->name);
                        break;
                }
index 168c57787328349e6f95d1a6608eacbd794c6bd8..54b5c80eb0ad38509aa045bcb20af89faf11dc07 100755 (executable)
@@ -1 +1 @@
-echo 3575
+echo 3579
index 9bc006bbc4725c5bc32cce0eeda72e1754ef4859..4db389957f2a6b11bc06cb4e413b979641fad242 100644 (file)
@@ -117,6 +117,8 @@ userrec::userrec()
         for (unsigned int n = 0; n < MAXCHANS; n++)
         {       
                clientlist[tempnick]->chans[n] = new ucrec();
+               clientlist[tempnick]->chans[n]->channel = NULL;
+               clientlist[tempnick]->chans[n]->uc_modes = 0;
         }
 }