diff options
-rw-r--r-- | include/inspircd.h | 16 | ||||
-rw-r--r-- | src/helperfuncs.cpp | 18 |
2 files changed, 32 insertions, 2 deletions
diff --git a/include/inspircd.h b/include/inspircd.h index 06fdd7124..99b709518 100644 --- a/include/inspircd.h +++ b/include/inspircd.h @@ -399,6 +399,18 @@ class CoreExport InspIRCd : public classbase */ std::string GetUID(); + /** Find a user in the UUID hash + * @param nick The nickname to find + * @return A pointer to the user, or NULL if the user does not exist + */ + userrec *FindUUID(const std::string &); + + /** Find a user in the UUID hash + * @param nick The nickname to find + * @return A pointer to the user, or NULL if the user does not exist + */ + userrec *FindUUID(const char *); + /** Build the ISUPPORT string by triggering all modules On005Numeric events */ void BuildISupport(); @@ -608,13 +620,13 @@ class CoreExport InspIRCd : public classbase */ void WriteOpers(const std::string &text); - /** Find a nickname in the nick hash + /** Find a user in the nick hash * @param nick The nickname to find * @return A pointer to the user, or NULL if the user does not exist */ userrec* FindNick(const std::string &nick); - /** Find a nickname in the nick hash + /** Find a user in the nick hash * @param nick The nickname to find * @return A pointer to the user, or NULL if the user does not exist */ diff --git a/src/helperfuncs.cpp b/src/helperfuncs.cpp index 9363e3376..fae9759d9 100644 --- a/src/helperfuncs.cpp +++ b/src/helperfuncs.cpp @@ -255,6 +255,24 @@ userrec* InspIRCd::FindNick(const char* nick) return iter->second; } +userrec *InspIRCd::FindUUID(const std::string &uid) +{ + return InspIRCd::FindUID(uid.c_str()); +} + +userrec *InspIRCd::FindUUID(const char *uid) +{ + for (user_hash::const_iterator a = ServerInstance->clientlist->begin(); a != ServerInstance->clientlist->end(); a++) + { + userrec *u = a->second; + + if (strcmp(u->uuid, uid) == 0 + { + return u; + } + } +} + /* find a channel record by channel name and return a pointer to it */ chanrec* InspIRCd::FindChan(const char* chan) { |