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
v2.8-utf8proc
Sébastien Helleu 2019-11-21 20:32:25 +01:00
parent 64aae8b959
commit e743e731ec
2 changed files with 3 additions and 1 deletions

View File

@ -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)

View File

@ -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