From: Alexander Barton Date: Sat, 14 Dec 2002 13:24:09 +0000 (+0000) Subject: - Conf_MaxPChannels is considered properly in channel mode changes now. X-Git-Tag: rel-0-6-0-pre1~29 X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=commitdiff_plain;h=2694017426057423dd3b7f1acc25c78a593ccd52 - Conf_MaxPChannels is considered properly in channel mode changes now. --- diff --git a/src/ngircd/irc-mode.c b/src/ngircd/irc-mode.c index 95b84f3e..6984409f 100644 --- a/src/ngircd/irc-mode.c +++ b/src/ngircd/irc-mode.c @@ -14,7 +14,7 @@ #include "portab.h" -static char UNUSED id[] = "$Id: irc-mode.c,v 1.17 2002/12/12 12:24:18 alex Exp $"; +static char UNUSED id[] = "$Id: irc-mode.c,v 1.18 2002/12/14 13:24:09 alex Exp $"; #include "imp.h" #include @@ -285,9 +285,10 @@ IRC_MODE( CLIENT *Client, REQUEST *Req ) x[0] = 't'; break; case 'P': - /* Persistent. Dieses Flag darf nur von IRC-Operatoren gesetzt werden! */ - if( set && ( ! Client_OperByMe( Client ))) + /* Persistent channel */ + if( set && ( Conf_MaxPChannels > 0 ) && ( Channel_PCount( ) >= Conf_MaxPChannels )) { + /* there are too many persistent channels in the network! */ ok = IRC_WriteStrClient( Client, ERR_NOPRIVILEGES_MSG, Client_ID( Client )); } else x[0] = 'P';