From 2093530e7590f91608d43f4617d8faf76ebf56ee Mon Sep 17 00:00:00 2001 From: vague666 Date: Sat, 27 Oct 2018 16:08:36 +0200 Subject: [PATCH 1/2] Make it possible to only autolog saved channels --- src/fe-common/core/fe-log.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/fe-common/core/fe-log.c b/src/fe-common/core/fe-log.c index 0fed8642..7823d727 100644 --- a/src/fe-common/core/fe-log.c +++ b/src/fe-common/core/fe-log.c @@ -41,6 +41,8 @@ #include "printtext.h" #include "fe-common-core.h" +#include "channels-setup.h" + /* close autologs after 5 minutes of inactivity */ #define AUTOLOG_INACTIVITY_CLOSE (60*5) @@ -486,6 +488,10 @@ static void autolog_open_check(TEXT_DEST_REC *dest) deftarget = server ? server->nick : "unknown"; + /* log only channels that have been saved to the config */ + if (settings_get_bool("autolog_only_saved_channels") && channel_setup_find(target, server_tag) == NULL) + return; + if (autolog_ignore_targets != NULL && strarray_find_dest(autolog_ignore_targets, dest)) return; @@ -722,6 +728,7 @@ void fe_log_init(void) settings_add_bool("log", "awaylog_colors", TRUE); settings_add_bool("log", "autolog", FALSE); settings_add_bool("log", "autolog_colors", FALSE); + settings_add_bool("log", "autolog_only_saved_channels", FALSE); settings_add_str("log", "autolog_path", "~/irclogs/$tag/$0.log"); settings_add_level("log", "autolog_level", "all -crap -clientcrap -ctcps"); settings_add_str("log", "log_theme", ""); From 3061f5d848f6f487e8c73a5d5846b7a860ca5466 Mon Sep 17 00:00:00 2001 From: vague666 Date: Sat, 27 Oct 2018 20:00:15 +0200 Subject: [PATCH 2/2] make sure only channels are checked --- src/fe-common/core/fe-log.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/fe-common/core/fe-log.c b/src/fe-common/core/fe-log.c index 7823d727..d71c62a9 100644 --- a/src/fe-common/core/fe-log.c +++ b/src/fe-common/core/fe-log.c @@ -24,6 +24,7 @@ #include "commands.h" #include "chat-protocols.h" #include "servers.h" +#include "channels.h" #include "levels.h" #include "misc.h" #include "log.h" @@ -489,7 +490,8 @@ static void autolog_open_check(TEXT_DEST_REC *dest) deftarget = server ? server->nick : "unknown"; /* log only channels that have been saved to the config */ - if (settings_get_bool("autolog_only_saved_channels") && channel_setup_find(target, server_tag) == NULL) + if (settings_get_bool("autolog_only_saved_channels") && IS_CHANNEL(window_item_find(server, target)) + && channel_setup_find(target, server_tag) == NULL) return; if (autolog_ignore_targets != NULL &&