]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/cmd_stats.cpp
More debug
[user/henk/code/inspircd.git] / src / cmd_stats.cpp
index 44755451dac0c06d3ef627a0f6c8089da8a69b7d..338a1a2acf2fd97277e58a73786bef429e9ccbdb 100644 (file)
@@ -29,12 +29,17 @@ extern "C" command_t* init_command(InspIRCd* Instance)
        return new cmd_stats(Instance);
 }
 
-void cmd_stats::Handle (const char** parameters, int pcnt, userrec *user)
+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;
 }
 
 void DoStats(InspIRCd* ServerInstance, char statschar, userrec* user, string_list &results)
@@ -92,7 +97,7 @@ void DoStats(InspIRCd* ServerInstance, char statschar, userrec* user, string_lis
                int idx = 0;
                for (user_hash::iterator i = ServerInstance->clientlist.begin(); i != ServerInstance->clientlist.end(); i++)
                {
-                       if (*i->second->oper)
+                       if ((*i->second->oper) && (!ServerInstance->ULine(i->second->server)))
                        {
                                results.push_back(sn+" 249 "+user->nick+" :"+i->second->nick+" ("+i->second->ident+"@"+i->second->dhost+") Idle: "+ConvToStr(ServerInstance->Time() - i->second->idle_lastmsg));
                                idx++;