From 5b4e92cc2ca9a08a1a9740daa25c64578325ed78 Mon Sep 17 00:00:00 2001 From: brain Date: Tue, 1 Apr 2008 16:25:02 +0000 Subject: [PATCH] Add an optional bool to ModeParser::ModeString() to not give the nickname n times on the end of the string. This can be used for w00ts funky stuff. :-) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9242 e03df62e-2008-0410-955e-edbf42e46eb7 --- include/mode.h | 4 +++- src/mode.cpp | 14 ++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/include/mode.h b/include/mode.h index f6022c090..ea52acf36 100644 --- a/include/mode.h +++ b/include/mode.h @@ -520,9 +520,11 @@ class CoreExport ModeParser : public classbase * similar purposes. * @param user The username to look up * @param channel The channel name to look up the privilages of the user for + * @param nick_suffix true (the default) if you want nicknames in the mode string, for easy + * use with the mode stacker, false if you just want the "avh" part of "avh nick nick nick". * @return The mode string. */ - std::string ModeString(User* user, Channel* channel); + std::string ModeString(User* user, Channel* channel, bool nick_suffix = true); }; #endif diff --git a/src/mode.cpp b/src/mode.cpp index db9641edb..9b90599ce 100644 --- a/src/mode.cpp +++ b/src/mode.cpp @@ -879,7 +879,7 @@ ModeHandler* ModeParser::FindPrefix(unsigned const char pfxletter) return NULL; } -std::string ModeParser::ModeString(User* user, Channel* channel) +std::string ModeParser::ModeString(User* user, Channel* channel, bool nick_suffix) { std::string types; std::string pars; @@ -897,14 +897,20 @@ std::string ModeParser::ModeString(User* user, Channel* channel) ret = mh->ModeSet(NULL, user, channel, user->nick); if ((ret.first) && (ret.second == user->nick)) { - pars.append(" "); - pars.append(user->nick); + if (nick_suffix) + { + pars.append(" "); + pars.append(user->nick); + } types.push_back(mh->GetModeChar()); } } } - return types+pars; + if (nick_suffix) + return types+pars; + else + return types; } std::string ModeParser::ChanModes() -- 2.39.2