~singpolyma/biboumi

5321d29cbda7d69d306f36d0f84d2c599c85c90e — louiz’ 8 years ago 9647844
List of channels are saved per-request and not globally

The list would keep the previous results in memory, forever, and the list
would grow each time a new request was made (even with results from
unrelated servers)…
1 files changed, 4 insertions(+), 4 deletions(-)

M src/bridge/bridge.cpp
M src/bridge/bridge.cpp => src/bridge/bridge.cpp +4 -4
@@ 368,11 368,11 @@ void Bridge::send_irc_channel_list_request(const Iid& iid, const std::string& iq

  irc->send_list_command();

  irc_responder_callback_t cb = [this, iid, iq_id, to_jid](const std::string& irc_hostname,
                                                           const IrcMessage& message) -> bool
    {
      static std::vector<ListElement> list;
  std::vector<ListElement> list;

  irc_responder_callback_t cb = [this, iid, iq_id, to_jid, list=std::move(list)](const std::string& irc_hostname,
                                                           const IrcMessage& message) mutable -> bool
    {
      if (irc_hostname != iid.get_server())
        return false;
      if (message.command == "263" || message.command == "RPL_TRYAGAIN" ||