}
else
{
- user->WriteServ( "386 %s %s :Removed permenant SVSHOLD (%s)", user->nick, (*iter)->nickname.c_str(), (*iter)->reason.c_str());
+ user->WriteServ( "386 %s %s :Removed permanent SVSHOLD (%s)", user->nick, (*iter)->nickname.c_str(), (*iter)->reason.c_str());
}
SVSHolds.erase(iter);
break;
std::string EncodeSVSHold(const SVSHold* ban)
{
std::ostringstream stream;
- stream << ban->nickname << " " << ban->set_by << " " << ban->set_on << " " << ban->length << " " << ban->reason;
+ stream << ban->nickname << " " << ban->set_by << " " << ban->set_on << " " << ban->length << " :" << ban->reason;
return stream.str();
}
SVSHold* DecodeSVSHold(const std::string &data)
{
SVSHold* res = new SVSHold();
- std::istringstream stream(data);
- stream >> res->nickname;
- stream >> res->set_by;
- stream >> res->set_on;
- stream >> res->length;
- res->reason = stream.str();
+ int set_on;
+ irc::tokenstream tokens(data);
+ tokens.GetToken(res->nickname);
+ tokens.GetToken(res->set_by);
+ tokens.GetToken(set_on);
+ res->set_on = set_on;
+ tokens.GetToken(res->length);
+ tokens.GetToken(res->reason);
return res;
}
}
};
-class ModuleSVSHoldFactory : public ModuleFactory
-{
- public:
- ModuleSVSHoldFactory()
- {
- }
-
- ~ModuleSVSHoldFactory()
- {
- }
-
- virtual Module * CreateModule(InspIRCd* Me)
- {
- return new ModuleSVSHold(Me);
- }
-
-};
-
-
-extern "C" DllExport void * init_module( void )
-{
- return new ModuleSVSHoldFactory;
-}
+MODULE_INIT(ModuleSVSHold)