#include "BanNode.h"
#include "ChanNode.h"
+#include "tools.h"
struct BanNode* addChannelBan(struct ChanNode *chan, char *mask) {
struct BanNode *ban = malloc(sizeof(*ban));
ban->mask = strdup(mask);
ban->next = chan->bans;
chan->bans = ban;
+ return ban;
+}
+
+struct BanNode* getMatchingChannelBan(struct ChanNode *chan, char *mask) {
+ struct BanNode *cban;
+ for(cban = chan->bans; cban; cban = cban->next) {
+ if(!match(cban->mask, mask)) {
+ return cban;
+ }
+ }
+ return NULL;
}
void removeChannelBanMask(struct ChanNode *chan, char *mask) {
for(cban = chan->bans; cban; cban = cban->next) {
if(!strcmp(cban->mask, mask)) {
if(last)
- last->next = ban->next;
+ last->next = cban->next;
else
- chan->bans = ban->next;
- free(ban->mask);
- free(ban);
+ chan->bans = cban->next;
+ free(cban->mask);
+ free(cban);
break;
} else
- last = ban;
+ last = cban;
}
}
free(ban);
break;
} else
- last = ban;
+ last = cban;
}
}
free(ban->mask);
free(ban);
}
- channel->bans = NULL;
+ chan->bans = NULL;
}