aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Sadie Powell2021-05-11 03:21:25 +0100
committerGravatar Sadie Powell2021-05-11 03:21:25 +0100
commit1e6461033bfe4e25a2d156724e1a7c7fad05eb8c (patch)
tree1012659708969a6342a77e550fa9eab6c7eabd95 /src
parentFix building the link data string. (diff)
Optimise building the link data string.
Diffstat (limited to 'src')
-rw-r--r--src/modules/m_spanningtree/utils.cpp24
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();
}