struct ChanUser *chanuser, *next;
for(chanuser = getChannelUsers(chan, NULL); chanuser; chanuser = next) {
next = getChannelUsers(chan, chanuser);
- removeChanUserFromLists(chanUser, 0, 1, 1);
+ removeChanUserFromLists(chanuser, 0, 1, 1);
}
}
if(freeChan)
}
void checkChannelVisibility(struct ChanNode* chan) {
- struct ChanUser *chanuser, *cchanuser, *next, *last = NULL;
+ struct ChanUser *chanuser, *next;
for(chanuser = getChannelUsers(chan, NULL); chanuser; chanuser = getChannelUsers(chan, chanuser)) {
if(chanuser->user->flags & USERFLAG_ISBOT) return;
}
for(chanuser = getChannelUsers(chan, NULL); chanuser; chanuser = next) {
next = getChannelUsers(chan, chanuser);
//remove the channel from the user's channel-list
- removeChanUserFromLists(chanUser, 0, 1, 0);
+ removeChanUserFromLists(chanuser, 0, 1, 0);
if(!chanuser->user->channel) {
//free the user (no more channels)
delUser(chanuser->user, 1);
struct ChanNode* getChanByName(const char *name);
struct ChanNode* addChannel(const char *chan);
void delChannel(struct ChanNode* chan, int freeChan);
+void checkChannelVisibility(struct ChanNode* chan);
#endif
\ No newline at end of file
}
}
-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
struct ChanUser* getChannelUsers(struct ChanNode *chan, struct ChanUser *last);
struct ChanUser* getUserChannels(struct UserNode *user, struct ChanUser *last);
void delChanUser(struct ChanUser *chanuser, int freeChanUser);
-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);
#endif
\ No newline at end of file
for(i = 0; i < strlen(mask)+1; i++) {
if(cmask[i] == '!') {
cmask[i] = 0;
- struct UserNode *user = malloc(sizeof(*user));
+ user = malloc(sizeof(*user));
if (!user)
{
perror("malloc() failed");
return NULL;
}
- strcpy(user->nick, nick);
+ strcpy(user->nick, cmask);
user->ident[0] = 0;
user->host[0] = 0;
user->realname[0] = 0;
ii = i+1;
} else if(cmask[i] == '.' && !user) {
//it's a server
- struct UserNode *user = malloc(sizeof(*user));
+ user = malloc(sizeof(*user));
if (!user)
{
perror("malloc() failed");