diff options
-rw-r--r-- | weechat/net.c | 2 | ||||
-rw-r--r-- | weechat/net.h | 12 | ||||
-rw-r--r-- | weechat/tomsg.c | 6 |
3 files changed, 7 insertions, 13 deletions
diff --git a/weechat/net.c b/weechat/net.c index 656a7a5..1618130 100644 --- a/weechat/net.c +++ b/weechat/net.c @@ -287,7 +287,7 @@ void net_handle_recv(int fd,const char *msg){ i64 textlen=msglen-(textp-msg); struct net_response res; - res.type=NET_MESSAGE; + res.type=NET_HISTORY; const char *endp; res.timestamp=strtoll(stampp,(char**)&endp,10); if(endp-stampp!=stamplen){ diff --git a/weechat/net.h b/weechat/net.h index 335664c..6348a89 100644 --- a/weechat/net.h +++ b/weechat/net.h @@ -11,19 +11,13 @@ enum net_response_type{ NET_NAME, NET_LIST, NET_PONG, - NET_HISTORY, NET_MESSAGE, + NET_HISTORY, NET_JOIN, NET_INVITE, NET_ONLINE, }; -struct net_history_item{ - char *username; - i64 timestamp; - char *message; -}; - struct net_response{ enum net_response_type type; union { @@ -35,10 +29,6 @@ struct net_response{ char **items; }; struct { - int nhistory; - struct net_history_item *history; - }; - struct { char *room; char *username; i64 timestamp; diff --git a/weechat/tomsg.c b/weechat/tomsg.c index 2103406..90e43b0 100644 --- a/weechat/tomsg.c +++ b/weechat/tomsg.c @@ -194,7 +194,7 @@ static void push_net_callback(int fd,struct net_response res,void *payload){ fprintf(debugf,"push_net_callback(fd=%d,res={.type=%d})\n",fd,res.type); struct conndata *conn=weechat_hashtable_get(conntable,&fd); assert(conn); - if(res.type==NET_MESSAGE||res.type==NET_JOIN||res.type==NET_INVITE){ + if(res.type==NET_MESSAGE||res.type==NET_HISTORY||res.type==NET_JOIN||res.type==NET_INVITE){ i64 roomi; for(roomi=0;roomi<conn->nrooms;roomi++){ if(strcmp(conn->rooms[roomi]->name,res.room)==0){ @@ -215,6 +215,10 @@ static void push_net_callback(int fd,struct net_response res,void *payload){ weechat_printf_date_tags( room->buffer,res.timestamp/1000000LL,private?"notify_private":"notify_message", "%s\t%s",res.username,res.message); + } else if(res.type==NET_HISTORY){ + weechat_printf_date_tags( + room->buffer,res.timestamp/1000000LL,NULL, + "%s\t%s",res.username,res.message); } else if(res.type==NET_JOIN){ weechat_printf(room->buffer,"%sUser %s joined this room",netpfx,res.username); if(room->buffer_nickgroup){ |