From: Attila Molnar Date: Sat, 19 Mar 2016 15:20:01 +0000 (+0100) Subject: Fix oversights in the WriteNumeric() parameter conversion X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;ds=sidebyside;h=266eb73475303ed6d48add31eec95700923e2146;p=user%2Fhenk%2Fcode%2Finspircd.git Fix oversights in the WriteNumeric() parameter conversion --- diff --git a/include/numericbuilder.h b/include/numericbuilder.h index 726aeff3f..a7b83125f 100644 --- a/include/numericbuilder.h +++ b/include/numericbuilder.h @@ -62,7 +62,7 @@ class Numeric::GenericBuilder 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()); diff --git a/src/coremods/core_channel/cmd_names.cpp b/src/coremods/core_channel/cmd_names.cpp index 53934b5e3..21fe43cca 100644 --- a/src/coremods/core_channel/cmd_names.cpp +++ b/src/coremods/core_channel/cmd_names.cpp @@ -68,7 +68,7 @@ CmdResult CommandNames::HandleLocal(const std::vector& parameters, 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, '@')); diff --git a/src/coremods/core_whois.cpp b/src/coremods/core_whois.cpp index 90a630f9c..ed5c1cda0 100644 --- a/src/coremods/core_whois.cpp +++ b/src/coremods/core_whois.cpp @@ -101,8 +101,9 @@ class WhoisChanListNumericBuilder : public Numeric::GenericBuilder<' ', false, W { 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()); } };