diff options
-rw-r--r-- | include/commands/cmd_who.h | 3 | ||||
-rw-r--r-- | src/cmd_who.cpp | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/include/commands/cmd_who.h b/include/commands/cmd_who.h index bc1601358..7e1d8affe 100644 --- a/include/commands/cmd_who.h +++ b/include/commands/cmd_who.h @@ -37,8 +37,9 @@ class cmd_who : public command_t bool opt_port; bool opt_away; bool opt_local; + bool opt_far; public: - cmd_who (InspIRCd* Instance) : command_t(Instance,"WHO",0,1) { syntax = "<server>|<nickname>|<channel>|<realname>|<host>|0 [ohurmMiapl]"; } + cmd_who (InspIRCd* Instance) : command_t(Instance,"WHO",0,1) { syntax = "<server>|<nickname>|<channel>|<realname>|<host>|0 [ohurmMiaplf]"; } void SendWhoLine(userrec* user, const std::string &initial, chanrec* ch, userrec* u, std::vector<std::string> &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 097059498..5992d7aa0 100644 --- a/src/cmd_who.cpp +++ b/src/cmd_who.cpp @@ -46,6 +46,8 @@ bool cmd_who::whomatch(userrec* user, const char* matchtext) if (opt_local && !IS_LOCAL(user)) return false; + else if (opt_far && IS_LOCAL(user)) + return false; if (opt_mode) { @@ -178,6 +180,7 @@ CmdResult cmd_who::Handle (const char** parameters, int pcnt, userrec *user) opt_port = false; opt_away = false; opt_local = false; + opt_far = false; chanrec *ch = NULL; std::vector<std::string> whoresults; @@ -231,6 +234,9 @@ CmdResult cmd_who::Handle (const char** parameters, int pcnt, userrec *user) case 'l': opt_local = true; break; + case 'f': + opt_far = true; + break; } *iter++; |