summaryrefslogtreecommitdiff
path: root/src/modules/m_namedmodes.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/m_namedmodes.cpp')
-rw-r--r--src/modules/m_namedmodes.cpp24
1 files changed, 9 insertions, 15 deletions
diff --git a/src/modules/m_namedmodes.cpp b/src/modules/m_namedmodes.cpp
index 4db1f70b9..8647cebb4 100644
--- a/src/modules/m_namedmodes.cpp
+++ b/src/modules/m_namedmodes.cpp
@@ -17,8 +17,6 @@
*/
-/* $ModDesc: Provides the ability to manipulate modes via long names. */
-
#include "inspircd.h"
static void DisplayList(User* user, Channel* channel)
@@ -29,15 +27,14 @@ static void DisplayList(User* user, Channel* channel)
ModeHandler* mh = ServerInstance->Modes->FindMode(letter, MODETYPE_CHANNEL);
if (!mh || mh->IsListMode())
continue;
- if (!channel->IsModeSet(letter))
+ if (!channel->IsModeSet(mh))
continue;
items << " +" << mh->name;
if (mh->GetNumParams(true))
- items << " " << channel->GetModeParameter(letter);
+ items << " " << channel->GetModeParameter(mh);
}
- char pfx[MAXBUF];
- snprintf(pfx, MAXBUF, ":%s 961 %s %s", ServerInstance->Config->ServerName.c_str(), user->nick.c_str(), channel->name.c_str());
- user->SendText(std::string(pfx), items);
+ const std::string line = ":" + ServerInstance->Config->ServerName + " 961 " + user->nick + " " + channel->name;
+ user->SendText(line, items);
user->WriteNumeric(960, "%s %s :End of mode list", user->nick.c_str(), channel->name.c_str());
}
@@ -83,7 +80,7 @@ class CommandProp : public Command
}
}
}
- ServerInstance->SendGlobalMode(modes, src);
+ ServerInstance->Modes->Process(modes, src);
return CMD_SUCCESS;
}
};
@@ -106,16 +103,13 @@ class ModuleNamedModes : public Module
{
}
- void init()
+ void init() CXX11_OVERRIDE
{
ServerInstance->Modules->AddService(cmd);
ServerInstance->Modules->AddService(dummyZ);
-
- Implementation eventlist[] = { I_OnPreMode };
- ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
}
- Version GetVersion()
+ Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides the ability to manipulate modes via long names.",VF_VENDOR);
}
@@ -125,7 +119,7 @@ class ModuleNamedModes : public Module
ServerInstance->Modules->SetPriority(this, I_OnPreMode, PRIORITY_FIRST);
}
- ModResult OnPreMode(User* source, User* dest, Channel* channel, const std::vector<std::string>& parameters)
+ ModResult OnPreMode(User* source, User* dest, Channel* channel, const std::vector<std::string>& parameters) CXX11_OVERRIDE
{
if (!channel)
return MOD_RES_PASSTHRU;
@@ -197,7 +191,7 @@ class ModuleNamedModes : public Module
}
}
newparms[1] = modelist;
- ServerInstance->Modes->Process(newparms, source, false);
+ ServerInstance->Modes->Process(newparms, source);
return MOD_RES_DENY;
}
};