Пример #1
0
int extban_moder_is_banned(aClient *sptr, aChannel *chptr, char *banin, int type)
{
char *ban = banin+3;
	if (!match_esc(ban, sptr->info))
		return 1;
	return 0;
}
Пример #2
0
int extban_modec_is_banned(aClient *sptr, aChannel *chptr, char *ban, int type)
{
Membership *lp;
char *p = ban+3, symbol = '\0';

	if (*p != '#')
	{
		symbol = *p;
		p++;
	}
	for (lp = sptr->user->channel; lp; lp = lp->next)
	{
		if (!match_esc(p, lp->chptr->chname))
		{
			/* Channel matched, check symbol if needed (+/%/@/etc) */
			if (symbol)
			{
				if (extban_modec_compareflags(symbol, lp->flags))
					return 1;
			} else
				return 1;
		}
	}
	return 0;
}
Пример #3
0
/* match_chan()
 *
 * The match_esc() function doing channel prefix auto-escape,
 * ie. mask: #blah*blah is seen like \#blah*blah
 */
int
match_chan(const char *mask, const char *name)
{
  if (*mask == '#')
  {
    if (*name != '#')
      return 0;
    ++name, ++mask;
  }

  return match_esc(mask, name);
}