summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorailin-nemui <ailin-nemui@users.noreply.github.com>2018-01-10 20:08:15 +0100
committerailin-nemui <ailin-nemui@users.noreply.github.com>2018-01-10 20:12:04 +0100
commitfa8508404f4c4a02749cae5148662e2322c2abf0 (patch)
treea3cccf91f0e6d60cc2d7937e1fc211184c556365
parentb3b68a4ae79c83b68f72dfe2b7f3c21ed5463c9e (diff)
downloadirssi-fa8508404f4c4a02749cae5148662e2322c2abf0.zip
revert netsplit print optimisation
this reverts part of #465 unfortunately we need to further refine the initial patch - when filtering by channel, the whole split is cleaned up nevertheless - something similar happens for the netjoins - furthermore, we cannot wait only for PUBLIC msgs, j/p/q are equivalently relevant for temporal integrity
-rw-r--r--src/fe-common/irc/fe-netjoin.c5
-rw-r--r--src/fe-common/irc/fe-netsplit.c9
2 files changed, 4 insertions, 10 deletions
diff --git a/src/fe-common/irc/fe-netjoin.c b/src/fe-common/irc/fe-netjoin.c
index 8272093f..bc39b27c 100644
--- a/src/fe-common/irc/fe-netjoin.c
+++ b/src/fe-common/irc/fe-netjoin.c
@@ -253,15 +253,12 @@ static void sig_print_starting(TEXT_DEST_REC *dest)
if (!IS_IRC_SERVER(dest->server))
return;
- if (!(dest->level & MSGLEVEL_PUBLIC))
- return;
-
if (!server_ischannel(dest->server, dest->target))
return;
rec = netjoin_find_server(IRC_SERVER(dest->server));
if (rec != NULL && rec->netjoins != NULL)
- print_netjoins(rec, dest->target);
+ print_netjoins(rec, NULL);
}
static int sig_check_netjoins(void)
diff --git a/src/fe-common/irc/fe-netsplit.c b/src/fe-common/irc/fe-netsplit.c
index 4c69dd10..ac3330e5 100644
--- a/src/fe-common/irc/fe-netsplit.c
+++ b/src/fe-common/irc/fe-netsplit.c
@@ -199,7 +199,7 @@ static void temp_split_chan_free(TEMP_SPLIT_CHAN_REC *rec)
g_free(rec);
}
-static void print_splits(IRC_SERVER_REC *server, const char *channel)
+static void print_splits(IRC_SERVER_REC *server, const char *filter_channel)
{
TEMP_SPLIT_REC temp;
GSList *servers;
@@ -218,7 +218,7 @@ static void print_splits(IRC_SERVER_REC *server, const char *channel)
g_hash_table_foreach(server->splits,
(GHFunc) get_server_splits, &temp);
- print_server_splits(server, &temp, channel);
+ print_server_splits(server, &temp, filter_channel);
g_slist_foreach(temp.channels,
(GFunc) temp_split_chan_free, NULL);
@@ -255,15 +255,12 @@ static void sig_print_starting(TEXT_DEST_REC *dest)
if (!IS_IRC_SERVER(dest->server))
return;
- if (!(dest->level & MSGLEVEL_PUBLIC))
- return;
-
if (!server_ischannel(dest->server, dest->target))
return;
rec = IRC_SERVER(dest->server);
if (rec->split_servers != NULL)
- print_splits(rec, dest->target);
+ print_splits(rec, NULL);
}
static int sig_check_splits(void)