X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/83ff05c356f6497be2475640d1cb2e3eb369831f..30f7b947f03d97a3d526bbadb50b9dd71aba4117:/src/hash.c diff --git a/src/hash.c b/src/hash.c index f4e0be5..23ac238 100644 --- a/src/hash.c +++ b/src/hash.c @@ -757,6 +757,33 @@ GetUserMode(struct chanNode *channel, struct userNode *user) return mn; } +struct userNode *IsInChannel(struct chanNode *channel, struct userNode *user) +{ + unsigned int n; + struct modeNode *mn = NULL; + + verify(channel); + verify(channel->members.list); + verify(user); + verify(user->channels.list); + if (channel->members.used < user->channels.used) { + for (n=0; nmembers.used; n++) { + verify(channel->members.list[n]); + if (user == channel->members.list[n]->user) { + return(user); + } + } + } else { + for (n=0; nchannels.used; n++) { + verify(user->channels.list[n]); + if (channel == user->channels.list[n]->channel) { + return(user); + } + } + } + return NULL; +} + DEFINE_LIST(userList, struct userNode*) DEFINE_LIST(modeList, struct modeNode*) DEFINE_LIST(banList, struct banNode*)