/* Find a user record by nickname and return a pointer to it */
userrec* InspIRCd::FindNick(const std::string &nick)
{
+ if (!nick.empty() && isdigit(*nick.begin()))
+ return FindUUID(nick);
+
user_hash::iterator iter = clientlist->find(nick);
if (iter == clientlist->end())
userrec* InspIRCd::FindNick(const char* nick)
{
+ if (isdigit(*nick))
+ return FindUUID(nick);
+
user_hash::iterator iter = clientlist->find(nick);
if (iter == clientlist->end())
return iter->second;
}
+userrec *InspIRCd::FindUUID(const std::string &uid)
+{
+ return InspIRCd::FindUUID(uid.c_str());
+}
+
+userrec *InspIRCd::FindUUID(const char *uid)
+{
+ user_hash::iterator finduuid = uuidlist->find(uid);
+
+ if (finduuid == uuidlist->end())
+ return NULL;
+
+ return finduuid->second;
+}
+
/* find a channel record by channel name and return a pointer to it */
chanrec* InspIRCd::FindChan(const char* chan)
{