From e743e731ecbedb2e92a1ded8f1f545557917af16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Thu, 21 Nov 2019 20:32:25 +0100 Subject: [PATCH] irc: do not automatically open a channel with name "0" (closes #1429) "0" is a special channel name which causes a client to leave all the channels it is presently on. Note that when option irc.look.buffer_open_before_join is on, WeeChat may still open channel buffers with an invalid channel name like "1". The server should reply something like that, displayed on the server buffer: 1: No such channel --- ChangeLog.adoc | 1 + src/plugins/irc/irc-command.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ChangeLog.adoc b/ChangeLog.adoc index 56f5b65e7..a82891feb 100644 --- a/ChangeLog.adoc +++ b/ChangeLog.adoc @@ -48,6 +48,7 @@ Bug fixes:: * core: add support of reverse video in ANSI color codes * core: fixed segfault during excessive evaluation in function string_repeat (issue #1400) * buflist: fix extra spaces between buffers when conditions are used to hide buffers (regression introduced in version 2.6) (issue #1403) + * irc: do not automatically open a channel with name "0" (issue #1429) * irc: remove option irc.network.channel_encode, add server option "charset_message" to control which part of the IRC message is decoded/encoded to the target charset (issue #832) * irc: use path from option xfer.file.upload_path to complete filename in command "/dcc send" (issue #60) * logger: fix write in log file if it has been deleted or renamed (issue #123) diff --git a/src/plugins/irc/irc-command.c b/src/plugins/irc/irc-command.c index e1847aeab..6556a9493 100644 --- a/src/plugins/irc/irc-command.c +++ b/src/plugins/irc/irc-command.c @@ -2636,7 +2636,8 @@ irc_command_join_server (struct t_irc_server *server, const char *arguments, } if (manual_join && weechat_config_boolean (irc_config_look_buffer_open_before_join) - && !irc_channel_search (server, pos_channel)) + && !irc_channel_search (server, pos_channel) + && (strcmp (pos_channel, "0") != 0)) { /* * open the channel buffer immediately (do not wait for the