out[length] = '\0';
- delete tmp;
+ DELETE(tmp);
return (char*)out;
}
OnRehash("");
}
- virtual void OnRehash(std::string param)
+ virtual void OnRehash(const std::string ¶m)
{
Conf = new ConfigReader;
if(Conf->GetError() == CONF_VALUE_NOT_FOUND)
killonbadreply = true;
- delete Conf;
+ DELETE(Conf);
}
void Implements(char* List)
user->Extend("waitpong_pingstr", pingrpl);
}
- virtual int OnPreCommand(std::string command, char** parameters, int pcnt, userrec* user, bool validated)
+ virtual int OnPreCommand(const std::string &command, const char** parameters, int pcnt, userrec* user, bool validated)
{
if(command == "PONG")
{
- char* pingrpl = user->GetExt("waitpong_pingstr");
+ char* pingrpl;
+ user->GetExt("waitpong_pingstr", pingrpl);
- if(pingrpl && (strcmp(pingrpl, parameters[0]) == 0))
- {
- delete pingrpl;
- user->Shrink("waitpong_pingstr");
- return 1;
- }
- else if(killonbadreply)
+ if(pingrpl)
{
- Srv->QuitUser(user, "Incorrect ping reply for registration");
- return 1;
+ if(strcmp(pingrpl, parameters[0]) == 0)
+ {
+ DELETE(pingrpl);
+ user->Shrink("waitpong_pingstr");
+ return 1;
+ }
+ else
+ {
+ if(killonbadreply)
+ Srv->QuitUser(user, "Incorrect ping reply for registration");
+ return 1;
+ }
}
}
virtual bool OnCheckReady(userrec* user)
{
- return (!user->GetExt("waitpong_pingstr"));
+ char* pingrpl;
+ return (!user->GetExt("waitpong_pingstr", pingrpl));
}
virtual void OnUserDisconnect(userrec* user)
{
- char* pingrpl = user->GetExt("waitpong_pingstr");
+ char* pingrpl;
+ user->GetExt("waitpong_pingstr", pingrpl);
if(pingrpl)
{
- delete pingrpl;
+ DELETE(pingrpl);
user->Shrink("waitpong_pingstr");
}
}
if(target_type == TYPE_USER)
{
userrec* user = (userrec*)item;
- char* pingrpl = user->GetExt("waitpong_pingstr");
+ char* pingrpl;
+ user->GetExt("waitpong_pingstr", pingrpl);
if(pingrpl)
{
- delete pingrpl;
+ DELETE(pingrpl);
user->Shrink("waitpong_pingstr");
}
}