*/
-#define MODNAME "cmd_all"
+#define MODNAME "core_all"
#include "inspircd.h"
#include "exitcodes.h"
#include <iostream>
-#ifdef PURE_STATIC
+#ifdef INSPIRCD_STATIC
typedef std::map<std::string, AllModuleList*> modmap;
static std::vector<AllCommandList::fn>* cmdlist = NULL;
~AllModule()
{
- for(std::vector<Command*>::iterator i = cmds.begin(); i != cmds.end(); ++i)
- delete *i;
+ stdalgo::delete_all(cmds);
}
- Version GetVersion()
+ Version GetVersion() CXX11_OVERRIDE
{
return Version("All commands", VF_VENDOR|VF_CORE);
}
MODULE_INIT(AllModule)
-bool ModuleManager::Load(const std::string& name, bool defer)
+bool ModuleManager::Load(const std::string& inputname, bool defer)
{
+ const std::string name = ExpandModName(inputname);
modmap::iterator it = modlist->find(name);
if (it == modlist->end())
return false;
for (modmap::const_iterator i = modlist->begin(); i != modlist->end(); ++i)
{
const std::string modname = i->first;
- if (modname[0] == 'c')
+ if (InspIRCd::Match(modname, "core_*.so", ascii_case_insensitive_map))
{
this->NewServices = &servicemap[modname];
Load(modname, true);