From 266eb73475303ed6d48add31eec95700923e2146 Mon Sep 17 00:00:00 2001 From: Attila Molnar Date: Sat, 19 Mar 2016 16:20:01 +0100 Subject: [PATCH] Fix oversights in the WriteNumeric() parameter conversion --- include/numericbuilder.h | 2 +- src/coremods/core_channel/cmd_names.cpp | 2 +- src/coremods/core_whois.cpp | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) 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()); } }; -- 2.39.2