]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/cmd_stats.cpp
Make parameter count checks more readable
[user/henk/code/inspircd.git] / src / cmd_stats.cpp
index 614511bf98b727b4a742bf4f1e11c8211f0171be..6d2efd047afa4cb639c564174a0da65092abba93 100644 (file)
@@ -31,10 +31,13 @@ extern "C" command_t* init_command(InspIRCd* Instance)
 
 CmdResult cmd_stats::Handle (const char** parameters, int pcnt, userrec *user)
 {
-       string_list values;
-       DoStats(this->ServerInstance, *parameters[0], user, values);
-       for (size_t i = 0; i < values.size(); i++)
-               user->Write(":%s", values[i].c_str());
+       if (pcnt < 2)
+       {
+               string_list values;
+               DoStats(this->ServerInstance, *parameters[0], user, values);
+               for (size_t i = 0; i < values.size(); i++)
+                       user->Write(":%s", values[i].c_str());
+       }
 
        return CMD_SUCCESS;
 }
@@ -43,7 +46,7 @@ void DoStats(InspIRCd* ServerInstance, char statschar, userrec* user, string_lis
 {
        std::string sn = ServerInstance->Config->ServerName;
 
-       if ((*ServerInstance->Config->OperOnlyStats) && (strchr(ServerInstance->Config->OperOnlyStats,statschar)) && (!*user->oper))
+       if ((*ServerInstance->Config->UserStats) && (!*user->oper) && (!strchr(ServerInstance->Config->UserStats,statschar)))
        {
                results.push_back(sn+std::string(" 481 ")+user->nick+" :Permission denied - STATS "+statschar+" is oper-only");
                return;