- for (silencelist::iterator i = sl->begin(); i != sl->end(); i++)
- {
- // search through for the item
- irc::string listitem = i->c_str();
- if (listitem == mask)
- {
- sl->erase(i);
- user->WriteServ("950 %s %s :Removed %s from silence list",user->nick, user->nick, mask.c_str());
- break;
- }
+ silencelist::iterator i = sl->find(mask.c_str());
+ if (i != sl->end())
+ {
+ sl->erase(i);
+ user->WriteServ("950 %s %s :Removed %s from silence list",user->nick, user->nick, mask.c_str());