]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Fix oversights in the WriteNumeric() parameter conversion
authorAttila Molnar <attilamolnar@hush.com>
Sat, 19 Mar 2016 15:20:01 +0000 (16:20 +0100)
committerAttila Molnar <attilamolnar@hush.com>
Sat, 19 Mar 2016 15:20:01 +0000 (16:20 +0100)
include/numericbuilder.h
src/coremods/core_channel/cmd_names.cpp
src/coremods/core_whois.cpp

index 726aeff3f5c78f8cff1ff7a6c59d5d810e49caf9..a7b83125feddf3d1be3752cfd2e1bd04ea68bba2 100644 (file)
@@ -62,7 +62,7 @@ class Numeric::GenericBuilder
        GenericBuilder(Sink s, unsigned int num, bool addparam = true, size_t additionalsize = 0)
                : sink(s)
                , numeric(num)
        GenericBuilder(Sink s, unsigned int num, bool addparam = true, size_t additionalsize = 0)
                : sink(s)
                , numeric(num)
-               , max(ServerInstance->Config->Limits.MaxLine - ServerInstance->Config->ServerName.size() - additionalsize - 9)
+               , max(ServerInstance->Config->Limits.MaxLine - ServerInstance->Config->ServerName.size() - additionalsize - 10)
        {
                if (addparam)
                        numeric.push(std::string());
        {
                if (addparam)
                        numeric.push(std::string());
index 53934b5e3a06bf36d5a5416b124b4410560acf02..21fe43ccab69e5414c06ca4fbefa0cb54b765479 100644 (file)
@@ -68,7 +68,7 @@ CmdResult CommandNames::HandleLocal(const std::vector<std::string>& parameters,
 
 void CommandNames::SendNames(LocalUser* user, Channel* chan, bool show_invisible)
 {
 
 void CommandNames::SendNames(LocalUser* user, Channel* chan, bool show_invisible)
 {
-       Numeric::Builder<' '> reply(user, RPL_NAMREPLY, false, chan->name.size() + 4);
+       Numeric::Builder<' '> reply(user, RPL_NAMREPLY, false, chan->name.size() + 3);
        Numeric::Numeric& numeric = reply.GetNumeric();
        if (chan->IsModeSet(secretmode))
                numeric.push(std::string(1, '@'));
        Numeric::Numeric& numeric = reply.GetNumeric();
        if (chan->IsModeSet(secretmode))
                numeric.push(std::string(1, '@'));
index 90a630f9cff6aa98bcee0e27a89b9f1be8016185..ed5c1cda04f1b9f70595e25bba9a11caca7e40d1 100644 (file)
@@ -101,8 +101,9 @@ class WhoisChanListNumericBuilder : public Numeric::GenericBuilder<' ', false, W
 {
  public:
        WhoisChanListNumericBuilder(WhoisContextImpl& whois)
 {
  public:
        WhoisChanListNumericBuilder(WhoisContextImpl& whois)
-               : Numeric::GenericBuilder<' ', false, WhoisNumericSink>(WhoisNumericSink(whois), 319, true, whois.GetSource()->nick.size() + whois.GetTarget()->nick.size() + 1)
+               : Numeric::GenericBuilder<' ', false, WhoisNumericSink>(WhoisNumericSink(whois), 319, false, whois.GetSource()->nick.size() + whois.GetTarget()->nick.size() + 1)
        {
        {
+               GetNumeric().push(whois.GetTarget()->nick).push(std::string());
        }
 };
 
        }
 };