From e907816380d02f913cc1f9c463f7835fc70fc0c0 Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Sat, 14 Dec 2002 13:21:56 +0000 Subject: [PATCH] - fixed up Channel_PCount() and Channel_CountForUser(). --- src/ngircd/channel.c | 24 +++++++++++++++++++++--- src/ngircd/channel.h | 5 +++-- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/ngircd/channel.c b/src/ngircd/channel.c index 5cd24128..386aaa2a 100644 --- a/src/ngircd/channel.c +++ b/src/ngircd/channel.c @@ -17,7 +17,7 @@ #include "portab.h" -static char UNUSED id[] = "$Id: channel.c,v 1.36 2002/12/13 17:22:57 alex Exp $"; +static char UNUSED id[] = "$Id: channel.c,v 1.37 2002/12/14 13:21:56 alex Exp $"; #include "imp.h" #include @@ -293,14 +293,13 @@ Channel_MemberCount( CHANNEL *Chan ) GLOBAL INT -Channel_CountForUser( CHANNEL *Chan, CLIENT *Client ) +Channel_CountForUser( CLIENT *Client ) { /* Count number of channels a user is member of. */ CL2CHAN *cl2chan; INT count; - assert( Chan != NULL ); assert( Client != NULL ); count = 0; @@ -315,6 +314,25 @@ Channel_CountForUser( CHANNEL *Chan, CLIENT *Client ) } /* Channel_CountForUser */ +GLOBAL INT +Channel_PCount( VOID ) +{ + /* Count the number of persistent (mode 'P') channels */ + + CHANNEL *chan; + INT count; + + count = 0; + chan = My_Channels; + while( chan ) + { + if( strchr( chan->modes, 'P' )) count++; + chan = chan->next; + } + + return count; +} /* Channel_PCount */ + GLOBAL CHAR * Channel_Name( CHANNEL *Chan ) diff --git a/src/ngircd/channel.h b/src/ngircd/channel.h index f2ef35e1..18957d7b 100644 --- a/src/ngircd/channel.h +++ b/src/ngircd/channel.h @@ -8,7 +8,7 @@ * (at your option) any later version. * Please read the file COPYING, README and AUTHORS for more information. * - * $Id: channel.h,v 1.24 2002/12/13 17:22:57 alex Exp $ + * $Id: channel.h,v 1.25 2002/12/14 13:21:56 alex Exp $ * * Channel management (header) */ @@ -60,7 +60,8 @@ GLOBAL VOID Channel_Kick PARAMS(( CLIENT *Client, CLIENT *Origin, CHAR *Name, C GLOBAL LONG Channel_Count PARAMS(( VOID )); GLOBAL LONG Channel_MemberCount PARAMS(( CHANNEL *Chan )); -GLOBAL INT Channel_CountForUser PARAMS(( CHANNEL *Chan, CLIENT *Client )); +GLOBAL INT Channel_CountForUser PARAMS(( CLIENT *Client )); +GLOBAL INT Channel_PCount PARAMS(( VOID )); GLOBAL CHAR *Channel_Name PARAMS(( CHANNEL *Chan )); GLOBAL CHAR *Channel_Modes PARAMS(( CHANNEL *Chan )); -- 2.39.2