diff options
| author | 2021-05-11 03:21:25 +0100 | |
|---|---|---|
| committer | 2021-05-11 03:21:25 +0100 | |
| commit | 1e6461033bfe4e25a2d156724e1a7c7fad05eb8c (patch) | |
| tree | 1012659708969a6342a77e550fa9eab6c7eabd95 /src | |
| parent | Fix building the link data string. (diff) | |
Optimise building the link data string.
Diffstat (limited to 'src')
| -rw-r--r-- | src/modules/m_spanningtree/utils.cpp | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/src/modules/m_spanningtree/utils.cpp b/src/modules/m_spanningtree/utils.cpp index a3928cd2f..bc1040385 100644 --- a/src/modules/m_spanningtree/utils.cpp +++ b/src/modules/m_spanningtree/utils.cpp @@ -364,32 +364,20 @@ void SpanningTreeUtilities::SendChannelMessage(User* source, Channel* target, co std::string SpanningTreeUtilities::BuildLinkString(uint16_t proto, Module* mod) { - std::stringstream buffer; - Module::LinkData data; std::string compatdata; mod->GetLinkData(data, compatdata); if (proto <= PROTO_INSPIRCD_30) - { - if (compatdata.empty()) - return ""; // No link data. + return compatdata; - buffer << compatdata; - } - else + std::stringstream buffer; + for (Module::LinkData::const_iterator iter = data.begin(); iter != data.end(); ++iter) { - if (data.empty()) - return ""; // No link data. - - for (Module::LinkData::const_iterator iter = data.begin(); iter != data.end(); ++iter) - { - if (iter != data.begin()) - buffer << '&'; + if (iter != data.begin()) + buffer << '&'; - buffer << iter->first << '=' << Percent::Encode(iter->second); - } + buffer << iter->first << '=' << Percent::Encode(iter->second); } - return buffer.str(); } |
