]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/commands/cmd_topic.cpp
Don't broadcast CHANCREATE snotice if channel is +P, fixes second half of bug #565...
[user/henk/code/inspircd.git] / src / commands / cmd_topic.cpp
index e723a50c9948d2f022375836accb9f454c2b6966..0e1a115da81494a0f7f035dd6574414c16515808 100644 (file)
@@ -70,7 +70,7 @@ CmdResult CommandTopic::Handle (const std::vector<std::string>& parameters, User
                                }
                        }
 
-                       char topic[MAXTOPIC];
+                       std::string topic;
 
                        if (IS_LOCAL(user))
                        {
@@ -79,17 +79,17 @@ CmdResult CommandTopic::Handle (const std::vector<std::string>& parameters, User
                                 */
                                int MOD_RESULT = 0;
 
-                               strlcpy(topic, parameters[1].c_str(), MAXTOPIC);
+                               topic.assign(parameters[1], 0, ServerInstance->Config->Limits.MaxTopic);
                                FOREACH_RESULT(I_OnLocalTopicChange,OnLocalTopicChange(user,Ptr,topic));
                                if (MOD_RESULT)
                                        return CMD_FAILURE;
 
-                               Ptr->topic.assign(topic, 0, MAXTOPIC);
+                               Ptr->topic.assign(topic, 0, ServerInstance->Config->Limits.MaxTopic);
                        }
                        else
                        {
                                /* Sneaky shortcut, one string copy for a remote topic */
-                               Ptr->topic.assign(parameters[1], 0, MAXTOPIC);
+                               Ptr->topic.assign(parameters[1], 0, ServerInstance->Config->Limits.MaxTopic);
                        }
 
                        Ptr->setby.assign(ServerInstance->Config->FullHostInTopic ?