1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-08 02:33:12 +02:00

irc: use low priority for MODE sent automatically by WeeChat (when joining channel)

This commit is contained in:
Sebastien Helleu
2012-01-06 14:05:21 +01:00
parent bf9953a866
commit 6b9a1d7376
4 changed files with 22 additions and 9 deletions
+2
View File
@@ -44,6 +44,8 @@ Version 0.3.7 (under dev!)
hashtable_map_string, hdata_check_pointer, hdata_char, hdata_hashtable and
nicklist_get_next_item
* alias: add default alias umode => /mode $nick
* irc: use low priority for MODE sent automatically by WeeChat (when joining
channel)
* irc: use extended regex in commands /ignore and /list
* irc: use redirection to get channel modes after update of modes on channel,
display output of /mode #channel, allow /mode without argument (display modes
+16 -7
View File
@@ -2377,19 +2377,20 @@ irc_command_me (void *data, struct t_gui_buffer *buffer, int argc, char **argv,
void
irc_command_mode_server (struct t_irc_server *server,
struct t_irc_channel *channel, const char *arguments)
struct t_irc_channel *channel, const char *arguments,
int flags)
{
if (server && (channel || arguments))
{
if (channel && arguments)
{
irc_server_sendf (server, IRC_SERVER_SEND_OUTQ_PRIO_HIGH, NULL,
irc_server_sendf (server, flags, NULL,
"MODE %s %s",
channel->name, arguments);
}
else
{
irc_server_sendf (server, IRC_SERVER_SEND_OUTQ_PRIO_HIGH, NULL,
irc_server_sendf (server, flags, NULL,
"MODE %s",
(channel) ? channel->name : arguments);
}
@@ -2424,20 +2425,28 @@ irc_command_mode (void *data, struct t_gui_buffer *buffer, int argc,
"mode");
return WEECHAT_RC_OK;
}
irc_command_mode_server (ptr_server, ptr_channel, argv_eol[1]);
irc_command_mode_server (ptr_server, ptr_channel, argv_eol[1],
IRC_SERVER_SEND_OUTQ_PRIO_HIGH);
}
else
{
/* user gives channel, use arguments as-is */
irc_command_mode_server (ptr_server, NULL, argv_eol[1]);
irc_command_mode_server (ptr_server, NULL, argv_eol[1],
IRC_SERVER_SEND_OUTQ_PRIO_HIGH);
}
}
else
{
if (ptr_channel)
irc_command_mode_server (ptr_server, ptr_channel, NULL);
{
irc_command_mode_server (ptr_server, ptr_channel, NULL,
IRC_SERVER_SEND_OUTQ_PRIO_HIGH);
}
else
irc_command_mode_server (ptr_server, NULL, ptr_server->nick);
{
irc_command_mode_server (ptr_server, NULL, ptr_server->nick,
IRC_SERVER_SEND_OUTQ_PRIO_HIGH);
}
}
return WEECHAT_RC_OK;
+2 -1
View File
@@ -58,7 +58,8 @@ extern void irc_command_join_server (struct t_irc_server *server,
int manual_join);
extern void irc_command_mode_server (struct t_irc_server *server,
struct t_irc_channel *channel,
const char *arguments);
const char *arguments,
int flags);
extern void irc_command_part_channel (struct t_irc_server *server,
const char *channel_name,
const char *part_message);
+2 -1
View File
@@ -3781,7 +3781,8 @@ IRC_PROTOCOL_CALLBACK(366)
NG_("normal", "normals", num_normal),
IRC_COLOR_CHAT_DELIMITERS);
irc_command_mode_server (server, ptr_channel, NULL);
irc_command_mode_server (server, ptr_channel, NULL,
IRC_SERVER_SEND_OUTQ_PRIO_LOW);
irc_channel_check_away (server, ptr_channel);
}
else