X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Futil.cpp;h=d9b9d2aed8941bda4178b70b2dd6df0d93f63e55;hb=c2e3479b87e7d0713d302d26fb2d7d01d7b8c9c2;hp=695ca4ad87b273087aaf19436453b7cf8239a129;hpb=b06a827aea68b050bf23c37e0162189a94595ee9;p=quassel.git diff --git a/src/common/util.cpp b/src/common/util.cpp index 695ca4ad..d9b9d2ae 100644 --- a/src/common/util.cpp +++ b/src/common/util.cpp @@ -64,14 +64,16 @@ QString hostFromMask(const QString &mask) bool isChannelName(const QString &str) { - static constexpr std::array prefixes{{'#', '&', '!', '+'}}; - return std::any_of(prefixes.cbegin(), prefixes.cend(), [&str](QChar c) { return c == str[0]; }); + if (str.isEmpty()) + return false; + static constexpr std::array prefixes{{'#', '&', '!', '+'}}; + return std::any_of(prefixes.cbegin(), prefixes.cend(), [&str](quint8 c) { return c == str[0]; }); } QString stripFormatCodes(QString message) { - static QRegExp regEx{"\x03(\\d\\d?(,\\d\\d?)?)?|[\x02\x0f\x12\x16\x1d\x1f]"}; + static QRegExp regEx{"\x03(\\d\\d?(,\\d\\d?)?)?|\x04([\\da-fA-F]{6}(,[\\da-fA-F]{6})?)?|[\x02\x0f\x11\x12\x16\x1d\x1e\x1f]"}; return message.remove(regEx); }