- std::vector<User*> itemstoremove;
-
- for (delaylist::iterator iter = dl->begin(); iter != dl->end(); iter++)
- {
- if (iter->second > ServerInstance->Time())
- {
- if (iter->first == user)
- {
- user->WriteNumeric(ERR_DELAYREJOIN, "%s %s :You must wait %s seconds after being kicked to rejoin (+J)",
- user->nick.c_str(), chan->name.c_str(), chan->GetModeParameter(&kr).c_str());
- return MOD_RES_DENY;
- }
- }
- else
- {
- // Expired record, remove.
- itemstoremove.push_back(iter->first);
- }
- }
-
- for (unsigned int i = 0; i < itemstoremove.size(); i++)
- dl->erase(itemstoremove[i]);
-
- if (!dl->size())
- kr.ext.unset(chan);
+ user->WriteNumeric(ERR_DELAYREJOIN, chan, InspIRCd::Format("You must wait %u seconds after being kicked to rejoin (+J)", data->delay));
+ return MOD_RES_DENY;