diff options
Diffstat (limited to 'degesch.c')
-rw-r--r-- | degesch.c | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -4716,6 +4716,19 @@ irc_handle_rpl_userhost (struct server *s, const struct irc_message *msg) } static void +irc_handle_rpl_umodeis (struct server *s, const struct irc_message *msg) +{ + if (msg->params.len < 2) + return; + + str_reset (&s->irc_user_mode); + irc_handle_mode_user (s, msg->params.vector + 1); + + // XXX: do we want to log a message? + refresh_prompt (s->ctx); +} + +static void irc_handle_rpl_namreply (struct server *s, const struct irc_message *msg) { if (msg->params.len < 4) @@ -5127,6 +5140,8 @@ irc_process_numeric (struct server *s, irc_handle_rpl_isupport (s, msg); break; case IRC_RPL_USERHOST: irc_handle_rpl_userhost (s, msg); break; + case IRC_RPL_UMODEIS: + irc_handle_rpl_umodeis (s, msg); buffer = NULL; break; case IRC_RPL_NAMREPLY: irc_handle_rpl_namreply (s, msg); buffer = NULL; break; case IRC_RPL_ENDOFNAMES: |