From e3fc46af3ea3999ea5eea7274f038f4f03357e0e Mon Sep 17 00:00:00 2001 From: Attila Molnar Date: Thu, 4 Sep 2014 13:08:22 +0200 Subject: Split ModeParser::DisplayListMode() into two parts ShowListModeList() sends the list of one listmode to a user, DisplayListMode() calls it for each mode letter --- src/mode.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/mode.cpp') diff --git a/src/mode.cpp b/src/mode.cpp index ce4cb5b87..5642e35b6 100644 --- a/src/mode.cpp +++ b/src/mode.cpp @@ -603,11 +603,19 @@ void ModeParser::DisplayListModes(User* user, Channel* chan, const std::string& if (!mh || !mh->IsListMode()) return; + ShowListModeList(user, chan, mh); + } +} + +void ModeParser::ShowListModeList(User* user, Channel* chan, ModeHandler* mh) +{ + { ModResult MOD_RESULT; FIRST_MOD_RESULT(OnRawMode, MOD_RESULT, (user, chan, mh, "", true)); if (MOD_RESULT == MOD_RES_DENY) - continue; + return; + unsigned char mletter = mh->GetModeChar(); bool display = true; if (!user->HasPrivPermission("channels/auspex") && ServerInstance->Config->HideModeLists[mletter] && (chan->GetPrefixValue(user) < HALFOP_VALUE)) { -- cgit v1.3.1-10-gc9f91