diff --git a/Nick.cpp b/Nick.cpp index 3094ffd1..56c6effc 100644 --- a/Nick.cpp +++ b/Nick.cpp @@ -18,6 +18,14 @@ void CNick::Reset() { m_cPerm = '\0'; } +CString CNick::Concat(const CString& sNick, const CString& sSuffix, unsigned int uMaxNickLen) { + if (sSuffix.length() >= uMaxNickLen) { + return sSuffix.Left(uMaxNickLen); + } + + return sNick.Left(uMaxNickLen - sSuffix.length()) + sSuffix; +} + void CNick::Parse(const CString& sNickMask) { if (sNickMask.empty()) { return; diff --git a/Nick.h b/Nick.h index 845ff309..0533a2bf 100644 --- a/Nick.h +++ b/Nick.h @@ -23,6 +23,7 @@ public: void Parse(const CString& sNickMask); CString GetHostMask() const; unsigned int GetCommonChans(vector& vChans, CUser* pUser) const; + static CString Concat(const CString& sNick, const CString& sSuffix, unsigned int uMaxNickLen = 9); // Setters void SetUser(CUser* pUser);