diff options
| author | 2021-06-07 06:59:23 +0100 | |
|---|---|---|
| committer | 2021-06-07 07:15:39 +0100 | |
| commit | d7f967bdfc2931771350a459c7eb77fa52f45517 (patch) | |
| tree | 93597d65440b4e9166e02405cf2b8c7dd8d9d2ca /src/modules/m_spanningtree/utils.cpp | |
| parent | Release v4.0.0 alpha 1. (diff) | |
| parent | Add CI support for Windows. (diff) | |
Merge branch 'insp3' into master.
Diffstat (limited to 'src/modules/m_spanningtree/utils.cpp')
| -rw-r--r-- | src/modules/m_spanningtree/utils.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/modules/m_spanningtree/utils.cpp b/src/modules/m_spanningtree/utils.cpp index 50735dc1f..322488847 100644 --- a/src/modules/m_spanningtree/utils.cpp +++ b/src/modules/m_spanningtree/utils.cpp @@ -25,6 +25,7 @@ #include "inspircd.h" +#include "listmode.h" #include "main.h" #include "utils.h" @@ -381,3 +382,24 @@ std::string SpanningTreeUtilities::BuildLinkString(uint16_t proto, Module* mod) } return buffer.str(); } + +void SpanningTreeUtilities::SendListLimits(Channel* chan, TreeSocket* sock) +{ + std::stringstream buffer; + const ModeParser::ListModeList& listmodes = ServerInstance->Modes.GetListModes(); + for (ModeParser::ListModeList::const_iterator i = listmodes.begin(); i != listmodes.end(); ++i) + { + ListModeBase* lm = *i; + buffer << lm->GetModeChar() << " " << lm->GetLimit(chan) << " "; + } + + std::string bufferstr = buffer.str(); + if (bufferstr.empty()) + return; // Should never happen. + + bufferstr.erase(bufferstr.end() - 1); + if (sock) + sock->WriteLine(CommandMetadata::Builder(chan, "maxlist", bufferstr)); + else + CommandMetadata::Builder(chan, "maxlist", bufferstr).Broadcast(); +} |
