1
0
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:
Sebastien Helleu
2011-01-03 13:02:22 +01:00
parent 7785292428
commit b38dfac5ee
4 changed files with 21 additions and 5 deletions
+2 -1
View File
@@ -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)
+12 -2
View File
@@ -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");
}
+2 -1
View File
@@ -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 */
+5 -1
View File
@@ -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;
}