Fix a refcounting issue in the whowas list handling.

When a user in one of the whowas lists rejoins, their entry is removed from
the whowas list (and added to a channel nicklist).  However the count of
entries in the whowas list wasn't being decremented, so eventually the client
thinks the lists are full when they're really empty... at this point only one
user at a time can be in the lists (so /WHOLEFT after a netsplit would only
show one user).



git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@77 13b04d17-f746-0410-82c6-800466cd88b0
This commit is contained in:
Kevin Easton
2009-10-16 12:35:56 +00:00
parent cb306c8947
commit b2a282feaa
4 changed files with 31 additions and 16 deletions

View File

@@ -357,7 +357,7 @@ ChannelList *BX_add_to_channel(char *channel, char *nick, int server, int oper,
if (!(new = find_nicklist_in_channellist(nick, chan, 0)))
{
if (!(whowas = check_whowas_buffer(nick, userhost, channel, 1)))
if (!(whowas = check_whowas_buffer(nick, userhost, channel)))
{
new = (NickList *) new_malloc(sizeof(NickList));