]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/mode.cpp
m_spanningtree Change TreeServer::GetSocket() to always return the socket that can...
[user/henk/code/inspircd.git] / src / mode.cpp
index 303d292d9a4ef45fe6550ef666ec5c0d43c9c7b4..15f5c0d60aec6e5bfaf892ae6f500df1ceaf980d 100644 (file)
@@ -181,7 +181,10 @@ void ModeParser::DisplayCurrentModes(User *user, User* targetuser, Channel* targ
                        /* Display user's current mode string */
                        user->WriteNumeric(RPL_UMODEIS, "%s :+%s",targetuser->nick.c_str(),targetuser->FormatModes());
                        if ((targetuser->IsOper()))
-                               user->WriteNumeric(RPL_SNOMASKIS, "%s +%s :Server notice mask", targetuser->nick.c_str(), targetuser->FormatNoticeMasks().c_str());
+                       {
+                               ModeHandler* snomask = FindMode('s', MODETYPE_USER);
+                               user->WriteNumeric(RPL_SNOMASKIS, "%s %s :Server notice mask", targetuser->nick.c_str(), snomask->GetUserParameter(user).c_str());
+                       }
                        return;
                }
                else
@@ -472,7 +475,7 @@ void ModeParser::Process(const std::vector<std::string>& parameters, User* user,
                else
                        targetuser->WriteFrom(user, "MODE " + LastParse);
 
-               FOREACH_MOD(I_OnMode,OnMode(user, targetuser, targetchannel, LastParseParams, LastParseTranslate));
+               FOREACH_MOD(OnMode, (user, targetuser, targetchannel, LastParseParams, LastParseTranslate));
        }
        else if (targetchannel && parameters.size() == 2)
        {
@@ -890,9 +893,6 @@ ModeParser::ModeParser()
        /* Clear mode handler list */
        memset(modehandlers, 0, sizeof(modehandlers));
 
-       /* Last parse string */
-       LastParse.clear();
-
        seq = 0;
        memset(&sent, 0, sizeof(sent));
 }