6 struct BanNode* addChannelBan(struct ChanNode *chan, char *mask) {
7 struct BanNode *ban = malloc(sizeof(*ban));
9 ban->mask = strdup(mask);
10 ban->next = chan->bans;
15 struct BanNode* getMatchingChannelBan(struct ChanNode *chan, char *mask) {
17 for(cban = chan->bans; cban; cban = cban->next) {
18 if(!match(cban->mask, mask)) {
25 void removeChannelBanMask(struct ChanNode *chan, char *mask) {
26 struct BanNode *cban, *last = NULL;
27 for(cban = chan->bans; cban; cban = cban->next) {
28 if(!strcmp(cban->mask, mask)) {
30 last->next = cban->next;
32 chan->bans = cban->next;
41 void removeChannelBan(struct BanNode *ban) {
42 struct BanNode *cban, *last = NULL;
43 struct ChanNode *chan = ban->chan;
44 for(cban = chan->bans; cban; cban = cban->next) {
47 last->next = ban->next;
49 chan->bans = ban->next;
58 void removeChannelBans(struct ChanNode *chan) {
59 struct BanNode *ban, *next;
60 for(ban = chan->bans; ban; ban = next) {