From cabb16d3efbbae19f4da4ceed46610f63e0cd0ae Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Tue, 29 Sep 2020 23:14:32 +0200 Subject: weechat: Protocol version 3 compatible (sortof) --- weechat/net.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'weechat/net.c') 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); -- cgit v1.2.3-54-g00ecf