]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/capab.cpp
Allow enabling the message-tags cap without client-only tags.
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / capab.cpp
index ed94079aea1f905b1b4a9d02cda2556f4740b932..15ba77a3464e8cebafc15d0f5f0170ba607d7f21 100644 (file)
@@ -1,9 +1,15 @@
 /*
  * InspIRCd -- Internet Relay Chat Daemon
  *
+ *   Copyright (C) 2019 linuxdaemon <linuxdaemon.irc@gmail.com>
+ *   Copyright (C) 2014, 2017-2019 Sadie Powell <sadie@witchery.services>
+ *   Copyright (C) 2014 Daniel Vassdal <shutter@canternet.org>
+ *   Copyright (C) 2012-2016 Attila Molnar <attilamolnar@hush.com>
+ *   Copyright (C) 2012 Robby <robby@chatbelgie.be>
  *   Copyright (C) 2009-2010 Daniel De Graaf <danieldg@inspircd.org>
+ *   Copyright (C) 2008, 2010 Craig Edwards <brain@inspircd.org>
+ *   Copyright (C) 2008 Thomas Stagner <aquanight@inspircd.org>
  *   Copyright (C) 2008 Robin Burchell <robin+git@viroteck.net>
- *   Copyright (C) 2008 Craig Edwards <craigedwards@brainbox.cc>
  *
  * This file is part of InspIRCd.  InspIRCd is free software: you can
  * redistribute it and/or modify it under the terms of the GNU General Public
@@ -67,8 +73,7 @@ std::string TreeSocket::MyModules(int filter)
                if ((!do_compat_include) && (!(v.Flags & filter)))
                        continue;
 
-               if (i != modlist.begin())
-                       capabilities.push_back(' ');
+               capabilities.push_back(' ');
                capabilities.append(i->first);
                if (!v.link_data.empty())
                {
@@ -80,12 +85,12 @@ std::string TreeSocket::MyModules(int filter)
        // If we are linked in a 2.0 server and have an ascii casemapping
        // advertise it as m_ascii.so from inspircd-extras
        if ((filter & VF_COMMON) && ServerInstance->Config->CaseMapping == "ascii" && proto_version == PROTO_INSPIRCD_20)
-       {
-               if (!capabilities.empty())
-                       capabilities += "m_ascii.so";
-       }
+               capabilities.append(" m_ascii.so");
+
+       if (capabilities.empty())
+               return capabilities;
 
-       return capabilities;
+       return capabilities.substr(1);
 }
 
 std::string TreeSocket::BuildModeList(ModeType mtype)
@@ -218,7 +223,7 @@ void TreeSocket::SendCapabilities(int phase)
        this->WriteLine("CAPAB END");
 }
 
-/* Isolate and return the elements that are different between two comma seperated lists */
+/* Isolate and return the elements that are different between two comma separated lists */
 void TreeSocket::ListDifference(const std::string &one, const std::string &two, char sep,
                std::string& mleft, std::string& mright)
 {