Fix CMessage to prefix also empty last params with a colon

This commit is contained in:
J-P Nurmi
2015-08-27 12:33:47 +02:00
parent 9a7df7cbbe
commit 37cd61a667
2 changed files with 3 additions and 1 deletions

View File

@@ -100,7 +100,7 @@ CString CMessage::ToString(unsigned int uFlags) const
for (unsigned int uIdx = 0; uIdx < uParams; ++uIdx) {
const CString& sParam = m_vsParams[uIdx];
sMessage += " ";
if (uIdx == uParams - 1 && (sParam.StartsWith(":") || sParam.Contains(" "))) {
if (uIdx == uParams - 1 && (sParam.empty() || sParam.StartsWith(":") || sParam.Contains(" "))) {
sMessage += ":";
}
sMessage += sParam;

View File

@@ -43,6 +43,7 @@ TEST(MessageTest, ToString) {
EXPECT_EQ(":irc.znc.in CMD p1", CMessage(":irc.znc.in CMD p1").ToString());
EXPECT_EQ(":irc.znc.in CMD p1 p2", CMessage(":irc.znc.in CMD p1 p2").ToString());
EXPECT_EQ(":irc.znc.in CMD :p p p", CMessage(":irc.znc.in CMD :p p p").ToString());
EXPECT_EQ(":irc.znc.in CMD :", CMessage(":irc.znc.in CMD :").ToString());
EXPECT_EQ("CMD", CMessage(CNick(), "CMD", {}).ToString());
EXPECT_EQ("CMD p1", CMessage(CNick(), "CMD", {"p1"}).ToString());
@@ -53,6 +54,7 @@ TEST(MessageTest, ToString) {
EXPECT_EQ(":irc.znc.in CMD p1", CMessage(CNick(":irc.znc.in"), "CMD", {"p1"}).ToString());
EXPECT_EQ(":irc.znc.in CMD p1 p2", CMessage(CNick(":irc.znc.in"), "CMD", {"p1", "p2"}).ToString());
EXPECT_EQ(":irc.znc.in CMD :p p p", CMessage(CNick(":irc.znc.in"), "CMD", {"p p p"}).ToString());
EXPECT_EQ(":irc.znc.in CMD :", CMessage(CNick(":irc.znc.in"), "CMD", {""}).ToString());
}
TEST(MessageTest, FormatFlags) {