perror("malloc() failed");
return NULL;
}
+ chanuser->flags = 0;
chanuser->user = user;
chanuser->chan = chan;
chanuser->next_user = chan->user;
chan->user = chanuser;
+ chan->usercount++;
chanuser->next_chan = user->channel;
user->channel = chanuser;
last = NULL;
for(cchanuser = chanuser->chan->user; cchanuser; cchanuser = cchanuser->next_user) {
if(cchanuser == chanuser) {
+ chanuser->chan->usercount--;
if(last)
last->next_user = chanuser->next_user;
else
}
}
-void removeChanUserFromLists(struct ChanUser *chanuser, int remove_from_userlist, int remove_from_channellist int freeChanUser) {
+void removeChanUserFromLists(struct ChanUser *chanuser, int remove_from_userlist, int remove_from_channellist, int freeChanUser) {
struct ChanUser *cchanuser, *last;
if(remove_from_userlist) {
//remove it from the channel's user-list
last = NULL;
for(cchanuser = chanuser->chan->user; cchanuser; cchanuser = cchanuser->next_user) {
if(cchanuser == chanuser) {
+ chanuser->chan->usercount--;
if(last)
last->next_user = chanuser->next_user;
else