*
* srvx is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* srvx is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
irc_join(user, mn->channel);
if (mn->modes) {
change.args[0].mode = mn->modes;
irc_join(user, mn->channel);
if (mn->modes) {
change.args[0].mode = mn->modes;
struct modeNode *mn = cNode->members.list[nn];
if ((mn->modes & MODE_CHANOP) && IsService(mn->user) && IsLocal(mn->user)) {
change->args[argc].mode = MODE_CHANOP;
struct modeNode *mn = cNode->members.list[nn];
if ((mn->modes & MODE_CHANOP) && IsService(mn->user) && IsLocal(mn->user)) {
change->args[argc].mode = MODE_CHANOP;
- change->args[0].member->modes &= ~MODE_CHANOP;
- mod_chanmode_announce(change->args[0].member->user, cNode, change);
+ change->args[0].u.member->modes &= ~MODE_CHANOP;
+ mod_chanmode_announce(change->args[0].u.member->user, cNode, change);
modeList_append(&channel->members, mNode);
modeList_append(&user->channels, mNode);
modeList_append(&channel->members, mNode);
modeList_append(&user->channels, mNode);