this->SetNoticeMask(*c, adding);
output += *c;
+ oldadding = adding;
}
}
else
this->WriteNumeric(ERR_UNKNOWNSNOMASK, "%s %c :is unknown snomask char to me", this->nick.c_str(), *c);
- oldadding = adding;
break;
}
// overwritten in UserManager::AddUser() with the real iterator so this check
// is only a precaution currently.
if (localuseriter != ServerInstance->Users->local_users.end())
+ {
+ ServerInstance->Users->local_count--;
ServerInstance->Users->local_users.erase(localuseriter);
+ }
+ else
+ ServerInstance->Logs->Log("USERS", DEFAULT, "ERROR: LocalUserIter does not point to a valid entry for " + this->nick);
ClearInvites();
eh.cull();
bool User::ChangeNick(const std::string& newnick, bool force)
{
+ if (quitting)
+ {
+ ServerInstance->Logs->Log("USERS", DEFAULT, "ERROR: Attempted to change nick of a quitting user: " + this->nick);
+ return false;
+ }
+
ModResult MOD_RESULT;
if (force)