]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/addline.cpp
Fix some regressions in sending tags between servers.
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / addline.cpp
index 00ef5b8d15b0b58fee4bf5fae24807622df0b642..d6c33d2ff9835b4b99a885a5b42c5e63e0c08a81 100644 (file)
@@ -31,33 +31,35 @@ CmdResult CommandAddLine::Handle(User* usr, Params& params)
 
        if (!xlf)
        {
-               ServerInstance->SNO->WriteToSnoMask('x',"%s sent me an unknown ADDLINE type (%s).",setter.c_str(),params[0].c_str());
+               ServerInstance->SNO->WriteToSnoMask('x', "%s sent me an unknown ADDLINE type (%s).", setter.c_str(), params[0].c_str());
                return CMD_FAILURE;
        }
 
        XLine* xl = NULL;
        try
        {
-               xl = xlf->Generate(ServerInstance->Time(), ConvToInt(params[4]), params[2], params[5], params[1]);
+               xl = xlf->Generate(ServerInstance->Time(), ConvToNum<unsigned long>(params[4]), params[2], params[5], params[1]);
        }
        catch (ModuleException &e)
        {
-               ServerInstance->SNO->WriteToSnoMask('x',"Unable to ADDLINE type %s from %s: %s", params[0].c_str(), setter.c_str(), e.GetReason().c_str());
+               ServerInstance->SNO->WriteToSnoMask('x', "Unable to ADDLINE type %s from %s: %s", params[0].c_str(), setter.c_str(), e.GetReason().c_str());
                return CMD_FAILURE;
        }
-       xl->SetCreateTime(ConvToInt(params[3]));
+       xl->SetCreateTime(ConvToNum<time_t>(params[3]));
        if (ServerInstance->XLines->AddLine(xl, NULL))
        {
                if (xl->duration)
                {
-                       std::string timestr = InspIRCd::TimeString(xl->expiry);
-                       ServerInstance->SNO->WriteToSnoMask('X',"%s added %s%s on %s to expire on %s: %s",setter.c_str(),params[0].c_str(),params[0].length() == 1 ? "-line" : "",
-                                       params[1].c_str(), timestr.c_str(), params[5].c_str());
+                       ServerInstance->SNO->WriteToSnoMask('X', "%s added timed %s%s for %s, expires in %s (on %s): %s",
+                               setter.c_str(), params[0].c_str(), params[0].length() == 1 ? "-line" : "",
+                               params[1].c_str(), InspIRCd::DurationString(xl->duration).c_str(),
+                               InspIRCd::TimeString(xl->expiry).c_str(), params[5].c_str());
                }
                else
                {
-                       ServerInstance->SNO->WriteToSnoMask('X',"%s added permanent %s%s on %s: %s",setter.c_str(),params[0].c_str(),params[0].length() == 1 ? "-line" : "",
-                                       params[1].c_str(),params[5].c_str());
+                       ServerInstance->SNO->WriteToSnoMask('X', "%s added permanent %s%s on %s: %s",
+                               setter.c_str(), params[0].c_str(), params[0].length() == 1 ? "-line" : "",
+                               params[1].c_str(), params[5].c_str());
                }
 
                TreeServer* remoteserver = TreeServer::Get(usr);