5 struct BanNode* addChannelBan(struct ChanNode *chan, char *mask) {
6 struct BanNode *ban = malloc(sizeof(*ban));
8 ban->mask = strdup(mask);
9 ban->next = chan->bans;
14 struct BanNode* getMatchingChannelBan(struct ChanNode *chan, char *mask) {
16 for(cban = chan->bans; cban; cban = cban->next) {
17 if(!match(cban->mask, mask)) {
24 void removeChannelBanMask(struct ChanNode *chan, char *mask) {
25 struct BanNode *cban, *last = NULL;
26 for(cban = chan->bans; cban; cban = cban->next) {
27 if(!strcmp(cban->mask, mask)) {
29 last->next = cban->next;
31 chan->bans = cban->next;
40 void removeChannelBan(struct BanNode *ban) {
41 struct BanNode *cban, *last = NULL;
42 struct ChanNode *chan = ban->chan;
43 for(cban = chan->bans; cban; cban = cban->next) {
46 last->next = ban->next;
48 chan->bans = ban->next;
57 void removeChannelBans(struct ChanNode *chan) {
58 struct BanNode *ban, *next;
59 for(ban = chan->bans; ban; ban = next) {