X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/50ea69b02b099f758afee426f6da931bf42c9a54..8ce9df050cb90b5124cdea7c53ab801599795a33:/src/opserv.c diff --git a/src/opserv.c b/src/opserv.c index f6b7014..b699874 100644 --- a/src/opserv.c +++ b/src/opserv.c @@ -45,7 +45,6 @@ #include #endif - #define OPSERV_CONF_NAME "services/opserv" #define KEY_ALERT_CHANNEL "alert_channel" @@ -1400,8 +1399,10 @@ opserv_svsjoin(struct userNode *target, UNUSED_ARG(char *src_handle), UNUSED_ARG return; /* channel is invite only */ } - if (channel->members.used >= channel->limit) { - return; /* channel is invite on */ + if (channel->limit > 0) { + if (channel->members.used >= channel->limit) { + return; /* channel is invite on */ + } } if (*channel->key) { @@ -2407,7 +2408,7 @@ static MODCMD_FUNC(cmd_stats_alerts) { reply("OSMSG_ALERTS_BAR"); for (it = dict_first(opserv_user_alerts); it; it = iter_next(it)) { alert = iter_data(it); - if(m && (!match_ircglob(alert->text_discrim, m) && strcasecmp(alert->owner, m)) ) + if(m && (!match_ircglob(alert->text_discrim, m) && strcasecmp(alert->owner, m) && strcasecmp(iter_key(it), m))) continue; /* not a match to requested filter */ switch (alert->reaction) { case REACT_NOTICE: reaction = "notice"; break; @@ -5741,8 +5742,10 @@ trace_svsjoin_func(struct userNode *match, void *extra) return 1; /* channel is invite only */ } - if (channel->members.used >= channel->limit) { - return 1; /* channel is invite on */ + if (channel->limit > 0) { + if (channel->members.used >= channel->limit) { + return 1; /* channel is invite on */ + } } if (*channel->key) {