X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Firc-mode.c;h=6984409fd9c7e9329e25d7ede8b768f531d26055;hp=95b84f3eaab9aeb9e285224956241e74b8aa1fab;hb=2694017426057423dd3b7f1acc25c78a593ccd52;hpb=00e75ccd7d3c43b1142c65ed2a26408efd1b9c5b 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';