diff options
-rw-r--r-- | src/channels.cpp | 32 |
1 files changed, 10 insertions, 22 deletions
diff --git a/src/channels.cpp b/src/channels.cpp index 353798e96..5e2ef907c 100644 --- a/src/channels.cpp +++ b/src/channels.cpp @@ -885,26 +885,20 @@ long chanrec::GetMaxBans() */ const char* chanrec::GetPrefixChar(userrec *user) { - static char px[2]; - unsigned int mx = 0; - - *px = 0; - *(px+1) = 0; - + static char pf[2] = {0, 0}; + prefixlist::iterator n = prefixes.find(user); if (n != prefixes.end()) { - for (std::vector<prefixtype>::iterator x = n->second.begin(); x != n->second.end(); x++) + if (n->second.size()) { - if (x->second > mx) - { - *px = x->first; - mx = x->second; - } + *pf = n->second.begin()->first; + return pf; } } - return px; + *pf = 0; + return pf; } const char* chanrec::GetAllPrefixChars(userrec* user) @@ -929,19 +923,13 @@ const char* chanrec::GetAllPrefixChars(userrec* user) unsigned int chanrec::GetPrefixValue(userrec* user) { - unsigned int mx = 0; - prefixlist::iterator n = prefixes.find(user); if (n != prefixes.end()) { - for (std::vector<prefixtype>::iterator x = n->second.begin(); x != n->second.end(); x++) - { - if (x->second > mx) - mx = x->second; - } + if (n->second.size()) + return n->second.begin()->second; } - - return mx; + return 0; } |