Update stripFormatCodes() for additional formatting characters
[quassel.git] / src / common / util.cpp
index 3d199a1..d9b9d2a 100644 (file)
@@ -64,6 +64,8 @@ QString hostFromMask(const QString &mask)
 
 bool isChannelName(const QString &str)
 {
+    if (str.isEmpty())
+        return false;
     static constexpr std::array<quint8, 4> prefixes{{'#', '&', '!', '+'}};
     return std::any_of(prefixes.cbegin(), prefixes.cend(), [&str](quint8 c) { return c == str[0]; });
 }
@@ -71,7 +73,7 @@ bool isChannelName(const QString &str)
 
 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);
 }