simplify ignore hidden/no_act code

This commit is contained in:
ailin-nemui 2018-09-17 12:48:42 +02:00
commit 7e9f8c694b
6 changed files with 45 additions and 110 deletions

View file

@ -92,13 +92,8 @@ static void sig_message_dcc(CHAT_DCC_REC *dcc, const char *msg)
tag = g_strconcat("=", dcc->id, NULL);
query = query_find(NULL, tag);
if (ignore_check_flags(SERVER(dcc->server), tag, dcc->addrstr, NULL, msg,
level, MSGLEVEL_NO_ACT))
level |= MSGLEVEL_NO_ACT;
if (ignore_check_flags(SERVER(dcc->server), tag, dcc->addrstr, NULL, msg,
level, MSGLEVEL_HIDDEN))
level |= MSGLEVEL_HIDDEN;
ignore_check_plus(SERVER(dcc->server), tag, dcc->addrstr, NULL, msg,
&level, FALSE);
format_create_dest_tag(&dest, dcc->server, dcc->servertag, tag,
level, NULL);
@ -118,13 +113,8 @@ static void sig_message_dcc_action(CHAT_DCC_REC *dcc, const char *msg)
tag = g_strconcat("=", dcc->id, NULL);
query = query_find(NULL, tag);
if (ignore_check_flags(SERVER(dcc->server), tag, dcc->addrstr, NULL, msg,
level, MSGLEVEL_NO_ACT))
level |= MSGLEVEL_NO_ACT;
if (ignore_check_flags(SERVER(dcc->server), tag, dcc->addrstr, NULL, msg,
level, MSGLEVEL_HIDDEN))
level |= MSGLEVEL_HIDDEN;
ignore_check_plus(SERVER(dcc->server), tag, dcc->addrstr, NULL, msg,
&level, FALSE);
format_create_dest_tag(&dest, dcc->server, dcc->servertag, tag,
level, NULL);
@ -143,13 +133,8 @@ static void sig_message_dcc_ctcp(CHAT_DCC_REC *dcc, const char *cmd,
tag = g_strconcat("=", dcc->id, NULL);
if (ignore_check_flags(SERVER(dcc->server), tag, dcc->addrstr, NULL, cmd,
level, MSGLEVEL_NO_ACT))
level |= MSGLEVEL_NO_ACT;
if (ignore_check_flags(SERVER(dcc->server), tag, dcc->addrstr, NULL, cmd,
level, MSGLEVEL_HIDDEN))
level |= MSGLEVEL_HIDDEN;
ignore_check_plus(SERVER(dcc->server), tag, dcc->addrstr, NULL, cmd,
&level, FALSE);
format_create_dest_tag(&dest, dcc->server, dcc->servertag, tag,
level, NULL);

View file

@ -155,17 +155,9 @@ static void sig_message_irc_action(IRC_SERVER_REC *server, const char *msg,
level = MSGLEVEL_ACTIONS |
(server_ischannel(SERVER(server), target) ? MSGLEVEL_PUBLIC : MSGLEVEL_MSGS);
if (ignore_check(SERVER(server), nick, address, target, msg, level))
if (ignore_check_plus(SERVER(server), nick, address, target, msg, &level, TRUE))
return;
if (ignore_check_flags(SERVER(server), nick, address, target, msg,
level, MSGLEVEL_NO_ACT))
level |= MSGLEVEL_NO_ACT;
if (ignore_check_flags(SERVER(server), nick, address, target, msg,
level, MSGLEVEL_HIDDEN))
level |= MSGLEVEL_HIDDEN;
if (server_ischannel(SERVER(server), target)) {
item = irc_channel_find(server, target);
} else {
@ -226,30 +218,21 @@ static void sig_message_irc_notice(SERVER_REC *server, const char *msg,
target = fe_channel_skip_prefix(IRC_SERVER(server), target);
if (address == NULL || *address == '\0') {
level = MSGLEVEL_SNOTES;
/* notice from server */
if (!ignore_check(server, nick, "",
target, msg, MSGLEVEL_SNOTES)) {
printformat(server, target, MSGLEVEL_SNOTES,
if (!ignore_check_plus(server, nick, "",
target, msg, &level, TRUE)) {
printformat(server, target, level,
IRCTXT_NOTICE_SERVER, nick, msg);
}
return;
}
if (ignore_check(server, nick, address,
if (ignore_check_plus(server, nick, address,
server_ischannel(SERVER(server), target) ? target : NULL,
msg, level))
msg, &level, TRUE))
return;
if (ignore_check_flags(server, nick, address,
server_ischannel(SERVER(server), target) ? target : NULL,
msg, level, MSGLEVEL_NO_ACT))
level |= MSGLEVEL_NO_ACT;
if (ignore_check_flags(server, nick, address,
server_ischannel(SERVER(server), target) ? target : NULL,
msg, level, MSGLEVEL_HIDDEN))
level |= MSGLEVEL_HIDDEN;
if (server_ischannel(SERVER(server), target)) {
/* notice in some channel */
printformat(server, target, level,

View file

@ -166,18 +166,10 @@ static void sig_message_mode(IRC_SERVER_REC *server, const char *channel,
if (nick == NULL) nick = server->real_address;
if (ignore_check(SERVER(server), nick, addr, channel,
mode, MSGLEVEL_MODES))
if (ignore_check_plus(SERVER(server), nick, addr, channel,
mode, &level, TRUE))
return;
if (ignore_check_flags(SERVER(server), nick, addr, channel,
mode, MSGLEVEL_MODES, MSGLEVEL_NO_ACT))
level |= MSGLEVEL_NO_ACT;
if (ignore_check_flags(SERVER(server), nick, addr, channel,
mode, MSGLEVEL_MODES, MSGLEVEL_HIDDEN))
level |= MSGLEVEL_HIDDEN;
if (!server_ischannel(SERVER(server), channel)) {
/* user mode change */
printformat(server, NULL, level,