/* hash.c - IRC network state database
* Copyright 2000-2004 srvx Development Team
*
- * This file is part of srvx.
+ * This file is part of x3.
*
* srvx is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
return mn;
}
+struct userNode *IsInChannel(struct chanNode *channel, struct userNode *user)
+{
+ unsigned int n;
+
+ verify(channel);
+ verify(channel->members.list);
+ verify(user);
+ verify(user->channels.list);
+ if (channel->members.used < user->channels.used) {
+ for (n=0; n<channel->members.used; n++) {
+ verify(channel->members.list[n]);
+ if (user == channel->members.list[n]->user) {
+ return(user);
+ }
+ }
+ } else {
+ for (n=0; n<user->channels.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*)