added simple channel ban cache
[NeonServV5.git] / ChanNode.c
index e00acb601866ee6428046b2671fb640c321b7a81..7313bf347d1515c612d247a9a23b662d3d2dbae9 100644 (file)
@@ -156,6 +156,7 @@ struct ChanNode* addChannel(const char *name) {
     }
     strcpy(chan->name, name);
     chan->user = NULL;
+    chan->bans = NULL;
     chan->usercount = 0;
     chan->chanbot = NULL;
     chan->topic[0] = 0;
@@ -278,7 +279,10 @@ static void parseModesUserPriv(struct ChanNode* chan, unsigned char flag, int ad
 }
 
 static void parseModesBan(struct ChanNode* chan, int add, char *mask) {
-    //to be continued...
+    if(add)
+        addChannelBan(chan, mask);
+    else
+        removeChannelBanMask(chan, mask);
 }
 
 void parseModes(struct ChanNode* chan, char *modeStr, char **argv, int argc) {