From 5ebb49de65a3f53730177665b5922dc3a62a94eb Mon Sep 17 00:00:00 2001 From: Attila Molnar Date: Sun, 20 Apr 2014 14:05:21 +0200 Subject: Change the OnNamesListItem() hook to return ModResult Return MOD_RES_DENY to exclude the user from the NAMES list --- src/modules/m_delayjoin.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/modules/m_delayjoin.cpp') diff --git a/src/modules/m_delayjoin.cpp b/src/modules/m_delayjoin.cpp index dd07710bd..b3165c7be 100644 --- a/src/modules/m_delayjoin.cpp +++ b/src/modules/m_delayjoin.cpp @@ -45,7 +45,7 @@ class ModuleDelayJoin : public Module } Version GetVersion() CXX11_OVERRIDE; - void OnNamesListItem(User* issuer, Membership*, std::string &prefixes, std::string &nick) CXX11_OVERRIDE; + ModResult OnNamesListItem(User* issuer, Membership*, std::string& prefixes, std::string& nick) CXX11_OVERRIDE; void OnUserJoin(Membership*, bool, bool, CUList&) CXX11_OVERRIDE; void CleanUser(User* user); void OnUserPart(Membership*, std::string &partmessage, CUList&) CXX11_OVERRIDE; @@ -80,15 +80,17 @@ Version ModuleDelayJoin::GetVersion() return Version("Allows for delay-join channels (+D) where users don't appear to join until they speak", VF_VENDOR); } -void ModuleDelayJoin::OnNamesListItem(User* issuer, Membership* memb, std::string &prefixes, std::string &nick) +ModResult ModuleDelayJoin::OnNamesListItem(User* issuer, Membership* memb, std::string& prefixes, std::string& nick) { /* don't prevent the user from seeing themself */ if (issuer == memb->user) - return; + return MOD_RES_PASSTHRU; /* If the user is hidden by delayed join, hide them from the NAMES list */ if (unjoined.get(memb)) - nick.clear(); + return MOD_RES_DENY; + + return MOD_RES_PASSTHRU; } static void populate(CUList& except, Membership* memb) -- cgit v1.3.1-10-gc9f91