/*
* InspIRCd -- Internet Relay Chat Daemon
*
- * Copyright (C) 2008 Robin Burchell <robin+git@viroteck.net>
+ * Copyright (C) 2018 linuxdaemon <linuxdaemon.irc@gmail.com>
+ * Copyright (C) 2013, 2018 Sadie Powell <sadie@witchery.services>
+ * Copyright (C) 2012-2014, 2018 Attila Molnar <attilamolnar@hush.com>
+ * Copyright (C) 2012, 2019 Robby <robby@chatbelgie.be>
+ * Copyright (C) 2009 Uli Schlachter <psychon@inspircd.org>
+ * Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
* Copyright (C) 2008 Thomas Stagner <aquanight@inspircd.org>
+ * Copyright (C) 2008 Robin Burchell <robin+git@viroteck.net>
*
* This file is part of InspIRCd. InspIRCd is free software: you can
* redistribute it and/or modify it under the terms of the GNU General Public
{
std::string snomasks;
std::string channel;
-
- logstreams.clear();
+ ChanLogTargets newlogs;
ConfigTagList tags = ServerInstance->Config->ConfTags("chanlog");
for (ConfigIter i = tags.first; i != tags.second; ++i)
if (channel.empty() || snomasks.empty())
{
- ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "Malformed chanlog tag, ignoring");
- continue;
+ throw ModuleException("Malformed chanlog tag at " + i->second->getTagLocation());
}
for (std::string::const_iterator it = snomasks.begin(); it != snomasks.end(); it++)
{
- logstreams.insert(std::make_pair(*it, channel));
+ newlogs.insert(std::make_pair(*it, channel));
ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "Logging %c to %s", *it, channel.c_str());
}
}
+ logstreams.swap(newlogs);
}
if (itpair.first == itpair.second)
return MOD_RES_PASSTHRU;
- const std::string snotice = "\2" + desc + "\2: " + msg;
+ const std::string snotice = "\002" + desc + "\002: " + msg;
for (ChanLogTargets::const_iterator it = itpair.first; it != itpair.second; ++it)
{
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Logs snomask output to channel(s).", VF_VENDOR);
+ return Version("Logs snomask output to channel(s)", VF_VENDOR);
}
};