From 1e6461033bfe4e25a2d156724e1a7c7fad05eb8c Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Tue, 11 May 2021 03:21:25 +0100 Subject: Optimise building the link data string. --- src/modules/m_spanningtree/utils.cpp | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) (limited to 'src/modules/m_spanningtree/utils.cpp') 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(); } -- cgit v1.3.1-10-gc9f91