/* 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
modeList_append(&channel->members, mNode);
modeList_append(&user->channels, mNode);
- if (channel->members.used == 1)
+ if (channel->members.used == 1
+ && !(channel->modes & MODE_REGISTERED))
mNode->modes |= MODE_CHANOP;
for (n=0; n<jf_used; n++) {
{
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; n<channel->members.used; n++) {
+ verify(channel->members.list[n]);
if (user == channel->members.list[n]->user) {
mn = channel->members.list[n];
break;
}
} else {
for (n=0; n<user->channels.used; n++) {
+ verify(user->channels.list[n]);
if (channel == user->channels.list[n]->channel) {
mn = user->channels.list[n];
break;