diff --git a/src/blackcore/context/contextnetworkimpl.cpp b/src/blackcore/context/contextnetworkimpl.cpp index a6c6d060d..464141a66 100644 --- a/src/blackcore/context/contextnetworkimpl.cpp +++ b/src/blackcore/context/contextnetworkimpl.cpp @@ -402,7 +402,7 @@ namespace BlackCore } } - const QString msg(parser.remainingStringAfter(2)); + const QString msg(parser.partAndRemainingStringAfter(2)); tm.setMessage(msg); if (tm.isEmpty()) { @@ -490,7 +490,12 @@ namespace BlackCore if (parser.countParts() < 2) { return false; } if (!m_fsdClient) { return false; } if (!this->isConnected()) { return false; } - const QString wallopMsg = parser.part(1).simplified().trimmed(); + const QString wallopMsg = parser.partAndRemainingStringAfter(1); + if (wallopMsg.isEmpty()) + { + CLogMessage(this).validationError(u"No wallop message body"); + return false; + } m_fsdClient->sendTextMessage(TextMessageGroups::AllSups, wallopMsg); return true; } diff --git a/src/blackmisc/simplecommandparser.cpp b/src/blackmisc/simplecommandparser.cpp index ca1e7cae1..688fc5ef2 100644 --- a/src/blackmisc/simplecommandparser.cpp +++ b/src/blackmisc/simplecommandparser.cpp @@ -57,7 +57,7 @@ namespace BlackMisc return m_splitParts.at(index); } - QString CSimpleCommandParser::remainingStringAfter(int index) const + QString CSimpleCommandParser::partAndRemainingStringAfter(int index) const { if (index < 0) { return m_cleanedLine; } const QString p = this->part(index); diff --git a/src/blackmisc/simplecommandparser.h b/src/blackmisc/simplecommandparser.h index 34d5e271a..28da4fa36 100644 --- a/src/blackmisc/simplecommandparser.h +++ b/src/blackmisc/simplecommandparser.h @@ -45,8 +45,9 @@ namespace BlackMisc //! Get part, 0 is command itself const QString &part(int index) const; - //! Remaining part after - QString remainingStringAfter(int index) const; + //! Part and remaing string after + //! \remark trimmed and simlified + QString partAndRemainingStringAfter(int index) const; //! Count parts int countParts() const;