From 16398df07d4ce1f1d4a2e43d97bc39043f8d44b5 Mon Sep 17 00:00:00 2001 From: attilamolnar Date: Sun, 1 Sep 2013 14:38:41 +0200 Subject: Move prefix mode specific fields and getters into PrefixMode Add ModeHandler::IsPrefixMode() --- src/modules/m_rmode.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/modules/m_rmode.cpp') diff --git a/src/modules/m_rmode.cpp b/src/modules/m_rmode.cpp index 1bbbb37bf..6d17820a5 100644 --- a/src/modules/m_rmode.cpp +++ b/src/modules/m_rmode.cpp @@ -56,9 +56,8 @@ class CommandRMode : public Command return CMD_FAILURE; } - unsigned int prefixrank; - char prefixchar; std::string pattern = parameters.size() > 2 ? parameters[2] : "*"; + PrefixMode* pm; ListModeBase* lm; ListModeBase::ModeList* ml; irc::modestacker modestack(false); @@ -68,14 +67,14 @@ class CommandRMode : public Command if (chan->IsModeSet(mh)) modestack.Push(modeletter); } - else if (((prefixrank = mh->GetPrefixRank()) && (prefixchar = mh->GetPrefix()))) + else if ((pm = mh->IsPrefixMode())) { // As user prefix modes don't have a GetList() method, let's iterate through the channel's users. for (UserMembIter it = chan->userlist.begin(); it != chan->userlist.end(); ++it) { if (!InspIRCd::Match(it->first->nick, pattern)) continue; - if (((strchr(chan->GetAllPrefixChars(user), prefixchar)) != NULL) && !(it->first == user && prefixrank > VOICE_VALUE)) + if (it->second->hasMode(modeletter) && !((it->first == user) && (pm->GetPrefixRank() > VOICE_VALUE))) modestack.Push(modeletter, it->first->nick); } } -- cgit v1.3.1-10-gc9f91