aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/m_userip.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2022-06-23 02:39:31 +0100
committerGravatar Sadie Powell2022-06-23 02:40:06 +0100
commit0d584821f27e9320c76393c4908ddb08886b7665 (patch)
tree86d20cd2adbfb6529d8f6ac6c407a449bfc2e361 /src/modules/m_userip.cpp
parentUpdate Windows dependencies. (diff)
Fix inconsistencies between USERHOST and USERIP.
Diffstat (limited to 'src/modules/m_userip.cpp')
-rw-r--r--src/modules/m_userip.cpp9
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;
}