diff --git a/Jupiter/IRC_Client.cpp b/Jupiter/IRC_Client.cpp index 59cfdde..40c078e 100644 --- a/Jupiter/IRC_Client.cpp +++ b/Jupiter/IRC_Client.cpp @@ -1622,18 +1622,23 @@ Jupiter::IRC::Client::Channel::User *Jupiter::IRC::Client::Channel::getUser(cons return m_users.get(in_nickname); } +char Jupiter::IRC::Client::Channel::getUserPrefix(const Channel::User &in_user) const +{ + const Jupiter::ReadableString &prefixes = m_parent->getPrefixes(); + + for (size_t index = 0; index != prefixes.size(); ++index) + if (in_user.m_prefixes.contains(prefixes[index])) + return prefixes[index]; + + return 0; +} + char Jupiter::IRC::Client::Channel::getUserPrefix(const Jupiter::ReadableString &in_nickname) const { Channel::User *user = m_users.get(in_nickname); if (user != nullptr) - { - const Jupiter::ReadableString &prefixes = m_parent->getPrefixes(); - - for (size_t index = 0; index != prefixes.size(); ++index) - if (user->m_prefixes.contains(prefixes[index])) - return prefixes[index]; - } + return this->getUserPrefix(*user); return 0; } diff --git a/Jupiter/IRC_Client.h b/Jupiter/IRC_Client.h index 8f6eb92..8ab004e 100644 --- a/Jupiter/IRC_Client.h +++ b/Jupiter/IRC_Client.h @@ -377,6 +377,7 @@ namespace Jupiter * @param user String containing the nickname of a user. * @return User's most significant prefix. */ + char getUserPrefix(const Channel::User &in_user) const; char getUserPrefix(const Jupiter::ReadableString &in_nickname) const; /**