- fixed up Conf_MaxJoins test on JOIN.
authorAlexander Barton <alex@barton.de>
Sat, 14 Dec 2002 13:23:11 +0000 (13:23 +0000)
committerAlexander Barton <alex@barton.de>
Sat, 14 Dec 2002 13:23:11 +0000 (13:23 +0000)
src/ngircd/irc-channel.c

index 52e245190d40ec8eca2addb0edb816575589056a..528751e48d0f013291ace866a66f071323f78967 100644 (file)
@@ -14,7 +14,7 @@
 
 #include "portab.h"
 
-static char UNUSED id[] = "$Id: irc-channel.c,v 1.19 2002/12/13 17:53:32 alex Exp $";
+static char UNUSED id[] = "$Id: irc-channel.c,v 1.20 2002/12/14 13:23:11 alex Exp $";
 
 #include "imp.h"
 #include <assert.h>
@@ -83,6 +83,16 @@ IRC_JOIN( CLIENT *Client, REQUEST *Req )
                /* Lokaler Client? */
                if( Client_Type( Client ) == CLIENT_USER )
                {
+                       /* Test if the user has reached his maximum channel count */
+                       if( Client_Type( Client ) == CLIENT_USER )
+                       {
+                               if(( Conf_MaxJoins > 0 ) && ( Channel_CountForUser( Client ) >= Conf_MaxJoins ))
+                               {
+                                       IRC_WriteStrClient( Client, ERR_TOOMANYCHANNELS_MSG, Client_ID( Client ), channame );
+                                       return CONNECTED;
+                               }
+                       }
+
                        /* Existiert der Channel bereits, oder wird er im Moment neu erzeugt? */
                        if( is_new_chan )
                        {
@@ -95,17 +105,6 @@ IRC_JOIN( CLIENT *Client, REQUEST *Req )
                                chan = Channel_Search( channame );
                                assert( chan != NULL );
 
-                               /* Test if the user has reached his maximum channel count */
-                               if( Client_Type( Client ) == CLIENT_USER )
-                               {
-                                       if(( Conf_MaxJoins > 0 ) && ( Channel_CountForUser( chan, Client ) > Conf_MaxJoins ))
-                                       {
-                                               IRC_WriteStrClient( Client, ERR_TOOMANYCHANNELS_MSG, Client_ID( Client ), channame );
-                                               return CONNECTED;
-                                       }
-                               }
-
-
                                is_banned = Lists_CheckBanned( target, chan );
                                is_invited = Lists_CheckInvited( target, chan );