diff options
author | Peter Powell <petpow@saberuk.com> | 2016-07-22 11:26:11 +0100 |
---|---|---|
committer | Attila Molnar <attilamolnar@hush.com> | 2016-07-22 12:26:11 +0200 |
commit | 4a12fc9d4bfb77fc2fc05c1052c66294e3774649 (patch) | |
tree | c24b738956fb7673c5703745b2775f4dc61e4277 | |
parent | a46d0c010d92a84574f175fc490538db93e7e860 (diff) |
Add a method which calculates the maximum mask length. (#1171)
-rw-r--r-- | include/configreader.h | 3 | ||||
-rw-r--r-- | src/channels.cpp | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/include/configreader.h b/include/configreader.h index fe1e5da9e..f2ba16902 100644 --- a/include/configreader.h +++ b/include/configreader.h @@ -121,6 +121,9 @@ class ServerLimits * @param tag Configuration tag to read the limits from */ ServerLimits(ConfigTag* tag); + + /** Maximum length of a n!u@h mask */ + size_t GetMaxMask() const { return NickMax + 1 + IdentMax + 1 + MaxHost; } }; struct CommandLineConf diff --git a/src/channels.cpp b/src/channels.cpp index 30bddec5c..7f2485a49 100644 --- a/src/channels.cpp +++ b/src/channels.cpp @@ -58,7 +58,7 @@ void Channel::SetTopic(User* u, const std::string& ntopic, time_t topicts, const // Always update setter and set time if (!setter) setter = ServerInstance->Config->FullHostInTopic ? &u->GetFullHost() : &u->nick; - this->setby.assign(*setter, 0, 128); + this->setby.assign(*setter, 0, ServerInstance->Config->Limits.GetMaxMask()); this->topicset = topicts; FOREACH_MOD(OnPostTopicChange, (u, this, this->topic)); |