#include "ChanNode.h"
#include "ChanUser.h"
#include "UserNode.h"
+#include "BanNode.h"
#include "modcmd.h"
static struct ChanNode **chanList;
---------------------------
= 47
*/
- chanList = calloc(47, sizeof(*chanList));
+ #define CHANNEL_LIST_SIZE 47
+ chanList = calloc(CHANNEL_LIST_SIZE, sizeof(*chanList));
unsigned int *mode, flag = 1;
modes_with_strarg = 0;
modes_with_intarg = 0;
int i;
struct ChanNode *chan, *next;
struct ChanUser *chanuser, *next_chanuser;
- for(i = 0; i < 47; i++) {
+ for(i = 0; i < CHANNEL_LIST_SIZE; i++) {
for(chan = chanList[i]; chan; chan = next) {
next = chan->next;
for(chanuser = getChannelUsers(chan, NULL); chanuser; chanuser = next_chanuser) {
return chan;
}
+int getChannelCount() {
+ int i, count = 0;
+ struct ChanNode *chan;
+ for(i = 0; i < CHANNEL_LIST_SIZE; i++) {
+ for(chan = chanList[i]; chan; chan = chan->next) {
+ count++;
+ }
+ }
+ return count;
+}
+
+int getChanUserCount() {
+ int i, count = 0;
+ struct ChanNode *chan;
+ for(i = 0; i < CHANNEL_LIST_SIZE; i++) {
+ for(chan = chanList[i]; chan; chan = chan->next) {
+ count += chan->usercount;
+ }
+ }
+ return count;
+}
+
void delChannel(struct ChanNode* chan, int freeChan) {
int chanListIndex = get_chanlist_entry(chan->name[1]);
if(chanListIndex == -1) return;
}
free(chan->mode_str_args);
free(chan->mode_int_args);
+ if(chan->bans)
+ removeChannelBans(chan);
free(chan);
}