diff --git a/src/common/util.cpp b/src/common/util.cpp index 4c1a22f..92bc6d7 100644 --- a/src/common/util.cpp +++ b/src/common/util.cpp @@ -27,17 +27,34 @@ class QMetaMethod; QString nickFromMask(QString mask) { - return mask.section('!', 0, 0); + if (mask.count("!") > 1) { + return mask.section('!', 0, 1); + } + else { + return mask.section('!', 0, 0); + } } QString userFromMask(QString mask) { - QString userhost = mask.section('!', 1); + QString userhost; + if (mask.count("!") > 1) { + userhost = mask.section('!', 2); + } + else { + userhost = mask.section('!', 1); + } if(userhost.isEmpty()) return QString(); return userhost.section('@', 0, 0); } QString hostFromMask(QString mask) { - QString userhost = mask.section('!', 1); + QString userhost; + if (mask.count("!") > 1) { + userhost = mask.section('!', 2); + } + else { + userhost = mask.section('!', 1); + } if(userhost.isEmpty()) return QString(); return userhost.section('@', 1); }