mirror of
https://github.com/weechat/weechat.git
synced 2026-06-29 14:26:39 +02:00
Update nick modes with IRC message 221 (bug #32038)
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
WeeChat ChangeLog
|
||||
=================
|
||||
Sébastien Helleu <flashcode@flashtux.org>
|
||||
v0.3.4-rc2, 2011-01-02
|
||||
v0.3.4-rc2, 2011-01-03
|
||||
|
||||
|
||||
Version 0.3.4 (under dev!)
|
||||
@@ -49,6 +49,7 @@ Version 0.3.4 (under dev!)
|
||||
nicklist_nick_get_integer, nicklist_nick_get_string, nicklist_nick_get_pointer,
|
||||
nicklist_nick_set
|
||||
* alias: complete with alias value for second argument of command /alias
|
||||
* irc: update nick modes with message 221 (bug #32038)
|
||||
* irc: add option "-server" to command /join (task #10837)
|
||||
* irc: fix bug with charset decoding on private buffers (decoding was made for
|
||||
local nick instead of remote nick) (bug #31890)
|
||||
|
||||
@@ -227,10 +227,19 @@ irc_mode_user_remove (struct t_irc_server *server, char mode)
|
||||
*/
|
||||
|
||||
void
|
||||
irc_mode_user_set (struct t_irc_server *server, const char *modes)
|
||||
irc_mode_user_set (struct t_irc_server *server, const char *modes,
|
||||
int reset_modes)
|
||||
{
|
||||
char set_flag;
|
||||
|
||||
|
||||
if (reset_modes)
|
||||
{
|
||||
if (server->nick_modes)
|
||||
{
|
||||
free (server->nick_modes);
|
||||
server->nick_modes = NULL;
|
||||
}
|
||||
}
|
||||
set_flag = '+';
|
||||
while (modes && modes[0])
|
||||
{
|
||||
@@ -254,4 +263,5 @@ irc_mode_user_set (struct t_irc_server *server, const char *modes)
|
||||
}
|
||||
modes++;
|
||||
}
|
||||
weechat_bar_item_update ("input_prompt");
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ struct t_irc_channel;
|
||||
extern int irc_mode_channel_set (struct t_irc_server *server,
|
||||
struct t_irc_channel *channel,
|
||||
const char *modes);
|
||||
extern void irc_mode_user_set (struct t_irc_server *server, const char *modes);
|
||||
extern void irc_mode_user_set (struct t_irc_server *server, const char *modes,
|
||||
int reset_modes);
|
||||
|
||||
#endif /* __WEECHAT_IRC_MODE_H */
|
||||
|
||||
@@ -770,7 +770,7 @@ IRC_PROTOCOL_CALLBACK(mode)
|
||||
IRC_COLOR_CHAT_NICK,
|
||||
nick);
|
||||
}
|
||||
irc_mode_user_set (server, pos_modes);
|
||||
irc_mode_user_set (server, pos_modes, 0);
|
||||
}
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
@@ -1938,6 +1938,10 @@ IRC_PROTOCOL_CALLBACK(221)
|
||||
(argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3],
|
||||
IRC_COLOR_CHAT_DELIMITERS);
|
||||
|
||||
irc_mode_user_set (server,
|
||||
(argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3],
|
||||
1);
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user