WatchedList emptywatchedlist;
};
-void IRCv3::Monitor::Manager::ExtItem::unserialize(SerializeFormat format, Extensible* container, const std::string& value)
+// inline is needed in static builds to support m_watch including the Manager code from this file
+inline void IRCv3::Monitor::Manager::ExtItem::unserialize(SerializeFormat format, Extensible* container, const std::string& value)
{
if (format == FORMAT_NETWORK)
return;
if (result == IRCv3::Monitor::Manager::WR_TOOMANY)
{
// List is full, send error which includes the remaining nicks that were not processed
- user->WriteNumeric(ERR_MONLISTFULL, "%u %s%s%s :Monitor list is full", maxmonitor, nick.c_str(), (ss.StreamEnd() ? "" : ","), ss.GetRemaining().c_str());
+ user->WriteNumeric(ERR_MONLISTFULL, maxmonitor, InspIRCd::Format("%s%s%s", nick.c_str(), (ss.StreamEnd() ? "" : ","), ss.GetRemaining().c_str()), "Monitor list is full");
break;
}
else if (result != IRCv3::Monitor::Manager::WR_OK)
out.Add(entry->GetNick());
}
out.Flush();
- user->WriteNumeric(RPL_ENDOFMONLIST, ":End of MONITOR list");
+ user->WriteNumeric(RPL_ENDOFMONLIST, "End of MONITOR list");
}
else if (subcmd == 'S')
{