summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPřemysl Janouch <p.janouch@gmail.com>2015-06-10 22:15:58 +0200
committerPřemysl Janouch <p.janouch@gmail.com>2015-06-10 22:15:58 +0200
commitc6738826700b41ca8e4d7c011d92ddce552a7b60 (patch)
tree1505a077fcd9262c6350fd74767f71117e8f4474
parent2c24f714b6627fd38e97f296eb37d2ae5443c9b8 (diff)
downloadxK-c6738826700b41ca8e4d7c011d92ddce552a7b60.tar.gz
xK-c6738826700b41ca8e4d7c011d92ddce552a7b60.tar.xz
xK-c6738826700b41ca8e4d7c011d92ddce552a7b60.zip
degesch: handle RPL_UMODEIS
-rw-r--r--degesch.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/degesch.c b/degesch.c
index defdb29..88ba593 100644
--- a/degesch.c
+++ b/degesch.c
@@ -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: