- void AddUser(userrec* user)
- {
- if (this->DontModifyHash)
- {
- log(DEBUG,"Not modifying hash");
- return;
- }
-
- log(DEBUG,"Add user %s to server %s",user->nick,this->ServerName.c_str());
- std::map<userrec*,userrec*>::iterator iter;
- iter = Users.find(user);
- if (iter == Users.end())
- Users[user] = user;
- }
-
- void DelUser(userrec* user)
- {
- /* FIX BY BRAIN:
- * Quitting the user in QuitUsers changes the hash by removing the user here,
- * corrupting the iterator!
- * When netsplitting, this->DontModifyHash is set to prevent it now!
- */
- if (this->DontModifyHash)
- {
- log(DEBUG,"Not modifying hash");
- return;
- }
-
- log(DEBUG,"Remove user %s from server %s",user->nick,this->ServerName.c_str());
- std::map<userrec*,userrec*>::iterator iter;
- iter = Users.find(user);
- if (iter != Users.end())
- Users.erase(iter);
- }
-