diff options
| author | 2022-06-23 02:39:31 +0100 | |
|---|---|---|
| committer | 2022-06-23 02:40:06 +0100 | |
| commit | 0d584821f27e9320c76393c4908ddb08886b7665 (patch) | |
| tree | 86d20cd2adbfb6529d8f6ac6c407a449bfc2e361 /src/modules/m_userip.cpp | |
| parent | Update Windows dependencies. (diff) | |
Fix inconsistencies between USERHOST and USERIP.
Diffstat (limited to 'src/modules/m_userip.cpp')
| -rw-r--r-- | src/modules/m_userip.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/modules/m_userip.cpp b/src/modules/m_userip.cpp index 465d9de34..11fb6cd39 100644 --- a/src/modules/m_userip.cpp +++ b/src/modules/m_userip.cpp @@ -33,17 +33,18 @@ class CommandUserip : public Command public: CommandUserip(Module* Creator) : Command(Creator,"USERIP", 1) { + allow_empty_last_param = false; syntax = "<nick> [<nick>]+"; } CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE { std::string retbuf; - int nicks = 0; bool checked_privs = false; bool has_privs = false; - for (size_t i = 0; i < parameters.size(); i++) + size_t paramcount = std::min<size_t>(parameters.size(), 5); + for (size_t i = 0; i < paramcount; ++i) { User *u = ServerInstance->FindNickOnly(parameters[i]); if ((u) && (u->registered == REG_ALL)) @@ -70,12 +71,10 @@ class CommandUserip : public Command else retbuf += "+"; retbuf += u->ident + "@" + u->GetIPString() + " "; - nicks++; } } - if (nicks != 0) - user->WriteNumeric(RPL_USERIP, retbuf); + user->WriteNumeric(RPL_USERIP, retbuf); return CMD_SUCCESS; } |
