]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/channels.cpp
Whoops, i left a value out of the array, and gcc didnt warn!
[user/henk/code/inspircd.git] / src / channels.cpp
index 6ba5aaa5f857021ef3f13d5ba622c0734dce8f9a..bd8a9719c5f8e17dbb2291342232191530dff718 100644 (file)
@@ -219,9 +219,9 @@ chanrec* chanrec::JoinUser(InspIRCd* Instance, userrec *user, const char* cn, bo
         */
        if (IS_LOCAL(user) && !override)
        {
-               if (IS_OPER(user))
+               if (user->GetMaxChans())
                {
-                       if (user->chans.size() >= Instance->Config->OperMaxChans)
+                       if (user->chans.size() >= user->GetMaxChans())
                        {
                                user->WriteServ("405 %s %s :You are on too many channels",user->nick, cn);
                                return NULL;
@@ -229,10 +229,21 @@ chanrec* chanrec::JoinUser(InspIRCd* Instance, userrec *user, const char* cn, bo
                }
                else
                {
-                       if (user->chans.size() >= Instance->Config->MaxChans)
+                       if (IS_OPER(user))
                        {
-                               user->WriteServ("405 %s %s :You are on too many channels",user->nick, cn);
-                               return NULL;
+                               if (user->chans.size() >= Instance->Config->OperMaxChans)
+                               {
+                                       user->WriteServ("405 %s %s :You are on too many channels",user->nick, cn);
+                                       return NULL;
+                               }
+                       }
+                       else
+                       {
+                               if (user->chans.size() >= Instance->Config->MaxChans)
+                               {
+                                       user->WriteServ("405 %s %s :You are on too many channels",user->nick, cn);
+                                       return NULL;
+                               }
                        }
                }
        }