]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_sanick.cpp
First phase of conversion to dynamic limits on all the lengths, configured via the...
[user/henk/code/inspircd.git] / src / modules / m_sanick.cpp
index cd93377c8a2b99911c417586978c0d5ffa785fb3..83d7fabd44c4cc5614bac1206691dbc76c421eb8 100644 (file)
@@ -38,7 +38,11 @@ class CommandSanick : public Command
                                return CMD_FAILURE;
                        }
                        std::string oldnick = user->nick;
-                       if (ServerInstance->IsNick(parameters[1].c_str()))
+                       if (IS_LOCAL(user) && !ServerInstance->IsNick(parameters[1].c_str(), ServerInstance->Config->Limits.NickMax))
+                       {
+                               user->WriteServ("NOTICE %s :*** Invalid nickname '%s'", user->nick.c_str(), parameters[1].c_str());
+                       }
+                       else
                        {
                                if (target->ForceNickChange(parameters[1].c_str()))
                                {
@@ -52,10 +56,6 @@ class CommandSanick : public Command
                                        return CMD_FAILURE;
                                }
                        }
-                       else
-                       {
-                               user->WriteServ("NOTICE %s :*** Invalid nickname '%s'", user->nick.c_str(), parameters[1].c_str());
-                       }
 
                        return CMD_FAILURE;
                }