static Server *Srv;
-class TimedBan
+class TimedBan : public classbase
{
public:
std::string channel;
this->source = "m_timedbans.so";
}
- void Handle (char **parameters, int pcnt, userrec *user)
+ void Handle (const char** parameters, int pcnt, userrec *user)
{
chanrec* channel = Srv->FindChannel(parameters[0]);
if (channel)
}
for (timedbans::iterator i = TimedBanList.begin(); i < TimedBanList.end(); i++)
{
- irc::string listitem = i->mask.c_str();
- irc::string target = parameters[2];
+ irc::string listitem = i->mask.c_str();
+ irc::string target = parameters[2];
irc::string listchan = i->channel.c_str();
irc::string targetchan = parameters[0];
if ((listitem == target) && (listchan == targetchan))
char duration[MAXBUF];
snprintf(duration,MAXBUF,"%lu",Srv->CalcDuration(parameters[1]));
std::string mask = parameters[2];
- char *setban[32];
+ const char *setban[32];
setban[0] = parameters[0];
setban[1] = "+b";
setban[2] = parameters[2];
List[I_OnDelBan] = List[I_OnBackgroundTimer] = 1;
}
- virtual int OnDelBan(userrec* source, chanrec* chan, std::string banmask)
+ virtual int OnDelBan(userrec* source, chanrec* chan, const std::string &banmask)
{
- for (timedbans::iterator i = TimedBanList.begin(); i < TimedBanList.end(); i++)
- {
- irc::string listitem = banmask.c_str();
- irc::string target = i->mask.c_str();
- if (listitem == target)
- {
- TimedBanList.erase(i);
- break;
- }
- }
+ for (timedbans::iterator i = TimedBanList.begin(); i < TimedBanList.end(); i++)
+ {
+ irc::string listitem = banmask.c_str();
+ irc::string target = i->mask.c_str();
+ if (listitem == target)
+ {
+ TimedBanList.erase(i);
+ break;
+ }
+ }
return 0;
}
if (cr)
{
Srv->SendChannelServerNotice(Srv->GetServerName(),cr,"NOTICE "+std::string(cr->name)+" :Timed ban on "+i->mask+" expired.");
- char *setban[3];
- setban[0] = (char*)i->channel.c_str();
+ const char *setban[3];
+ setban[0] = i->channel.c_str();
setban[1] = "-b";
- setban[2] = (char*)i->mask.c_str();
+ setban[2] = i->mask.c_str();
// kludge alert!
// ::SendMode expects a userrec* to send the numeric replies
// back to, so we create it a fake user that isnt in the user
temp->fd = FD_MAGIC_NUMBER;
temp->server = "";
Srv->SendMode(setban,3,temp);
- delete temp;
+ DELETE(temp);
}
// we used to delete the item here, but we dont need to as the servermode above does it for us,
break;