From d0bde383434a9a88fc2737da8f8ca92e98d4c967 Mon Sep 17 00:00:00 2001 From: brain Date: Wed, 9 May 2007 21:24:57 +0000 Subject: [PATCH] Add WHO flag 'l', show only local users git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6928 e03df62e-2008-0410-955e-edbf42e46eb7 --- include/commands/cmd_who.h | 3 ++- src/cmd_who.cpp | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/include/commands/cmd_who.h b/include/commands/cmd_who.h index 864dd6cb7..bc1601358 100644 --- a/include/commands/cmd_who.h +++ b/include/commands/cmd_who.h @@ -36,8 +36,9 @@ class cmd_who : public command_t bool opt_metadata; bool opt_port; bool opt_away; + bool opt_local; public: - cmd_who (InspIRCd* Instance) : command_t(Instance,"WHO",0,1) { syntax = "|||||0 [ohurmMiap]"; } + cmd_who (InspIRCd* Instance) : command_t(Instance,"WHO",0,1) { syntax = "|||||0 [ohurmMiapl]"; } void SendWhoLine(userrec* user, const std::string &initial, chanrec* ch, userrec* u, std::vector &whoresults); CmdResult Handle(const char** parameters, int pcnt, userrec *user); bool whomatch(userrec* user, const char* matchtext); diff --git a/src/cmd_who.cpp b/src/cmd_who.cpp index dad3b90b8..097059498 100644 --- a/src/cmd_who.cpp +++ b/src/cmd_who.cpp @@ -44,6 +44,9 @@ bool cmd_who::whomatch(userrec* user, const char* matchtext) if (user->registered != REG_ALL) return false; + if (opt_local && !IS_LOCAL(user)) + return false; + if (opt_mode) { for (const char* n = matchtext; *n; n++) @@ -174,6 +177,7 @@ CmdResult cmd_who::Handle (const char** parameters, int pcnt, userrec *user) opt_metadata = false; opt_port = false; opt_away = false; + opt_local = false; chanrec *ch = NULL; std::vector whoresults; @@ -224,6 +228,9 @@ CmdResult cmd_who::Handle (const char** parameters, int pcnt, userrec *user) case 'a': opt_away = true; break; + case 'l': + opt_local = true; + break; } *iter++; -- 2.39.5