aboutsummaryrefslogtreecommitdiff
path: root/weechat/net.c
diff options
context:
space:
mode:
Diffstat (limited to 'weechat/net.c')
-rw-r--r--weechat/net.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/weechat/net.c b/weechat/net.c
index ce8da6a..5b88605 100644
--- a/weechat/net.c
+++ b/weechat/net.c
@@ -361,10 +361,14 @@ void net_handle_recv(int fd,const char *msg){
cb(fd,res,payload);
free(res.room);
free(res.username);
- } else if(cmdlen==6&&memcmp(cmd,"invite",6)==0){
+ } else if((cmdlen==6&&memcmp(cmd,"invite",6)==0)||
+ (cmdlen==5&&memcmp(cmd,"leave",5)==0)){
+ enum net_response_type cmd_type=cmdlen==6?NET_INVITE:NET_LEAVE;
+
const char *q;
if(*p=='\0'||(q=strchr(p+1,' '))==NULL){
- debugf("net_handle_recv: no arguments to 'invite' <%s>\n",msg);
+ debugf("net_handle_recv: no arguments to '%s' <%s>\n",
+ cmd_type==NET_INVITE?"invite":"leave",msg);
return;
}
const char *roomp=p+1;
@@ -373,7 +377,7 @@ void net_handle_recv(int fd,const char *msg){
i64 userlen=msglen-(userp-msg);
struct net_response res;
- res.type=NET_INVITE;
+ res.type=cmd_type;
res.room=malloc(roomlen+1);
res.username=malloc(userlen+1);
assert(res.room&&res.username);