- irc::string server = user->server;
- irc::string me = Srv->GetServerName().c_str();
- if (server == me)
- {
- for (int i =0; i != MAXCHANS; i++)
- {
- if (user->chans[i].channel != NULL)
- {
- chanrec* curr = user->chans[i].channel;
- if (curr->IsCustomModeSet('N'))
- {
- if (!strchr(user->modes,'o'))
- {
- // don't allow the nickchange, theyre on at least one channel with +N set
- // and theyre not an oper
- WriteServ(user->fd,"447 %s :Can't change nickname while on %s (+N is set)",user->nick,curr->name);
- return 1;
- }
- }
- }
- }
- }
- return 0;