]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/mode.cpp
Forge FIDENT reply to CHGIDENT to prevent ident desync with 1.2 and 2.0 servers
[user/henk/code/inspircd.git] / src / mode.cpp
index 6dea66464914af64c9ee1d173b6fcb644e59b741..7aeaae1dcd933022ffa73eff4717842d12f2d24c 100644 (file)
@@ -62,7 +62,7 @@ CullResult ModeHandler::cull()
 ModeHandler::~ModeHandler()
 {
        if (ServerInstance && ServerInstance->Modes && ServerInstance->Modes->FindMode(mode, m_type) == this)
-               ServerInstance->Logs->Log("MODE", ERROR, "ERROR: Destructor for mode %c called while still registered", mode);
+               ServerInstance->Logs->Log("MODE", DEFAULT, "ERROR: Destructor for mode %c called while still registered", mode);
 }
 
 bool ModeHandler::IsListMode()
@@ -291,8 +291,8 @@ ModeAction ModeParser::TryMode(User* user, User* targetuser, Channel* chan, bool
                                ModeHandler* neededmh = NULL;
                                for(char c='A'; c <= 'z'; c++)
                                {
-                                       ModeHandler *privmh = FindMode(modechar, type);
-                                       if (privmh->GetPrefixRank() >= neededrank)
+                                       ModeHandler *privmh = FindMode(c, MODETYPE_CHANNEL);
+                                       if (privmh && privmh->GetPrefixRank() >= neededrank)
                                        {
                                                // this mode is sufficient to allow this action
                                                if (!neededmh || privmh->GetPrefixRank() < neededmh->GetPrefixRank())