-#define ignore_match_channel(rec, channel) \
- ((rec)->channels == NULL || ((channel) != NULL && \
- strarray_find((rec)->channels, (channel)) != -1))
-
-static int ignore_check_without_mask(GSList *list, CHANNEL_REC *channel,
- int level, const char *text)
-{
- GSList *tmp;
- int len, best_mask, best_match, best_patt;
-
- best_mask = best_patt = -1; best_match = FALSE;
- for (tmp = list; tmp != NULL; tmp = tmp->next) {
- IGNORE_REC *rec = tmp->data;
-
- if (ignore_match_level(rec, level) &&
- ignore_match_pattern(rec, text)) {
- len = rec->mask == NULL ? 0 : strlen(rec->mask);
- if (len > best_mask) {
- best_mask = len;
- best_match = !rec->exception;
- } else if (len == best_mask && rec->pattern != NULL) {
- len = strlen(rec->pattern);
- if (len > best_patt) {
- best_patt = len;
- best_match = !rec->exception;
- }
- }
- }
- }
-
- if (best_match || (level & MSGLEVEL_PUBLIC) == 0)
- return best_match;
-
- return ignore_check_replies(channel, text);
-}
-