aboutsummaryrefslogtreecommitdiff
path: root/weechat/net.c
diff options
context:
space:
mode:
authorTom Smeding <tom.smeding@gmail.com>2020-09-29 23:14:32 +0200
committerTom Smeding <tom.smeding@gmail.com>2020-09-29 23:24:13 +0200
commitcabb16d3efbbae19f4da4ceed46610f63e0cd0ae (patch)
tree32f9457e2e2932a510b77f9b7b55ee4a42f5790b /weechat/net.c
parentb01f6191b0354b605fb7703ae7e753a8c372a269 (diff)
weechat: Protocol version 3 compatible (sortof)
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);