]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/cmd_stats.cpp
Remove an extern, partly because it's unused, partly because it then gets shadowed...
[user/henk/code/inspircd.git] / src / cmd_stats.cpp
index 00b7b2f476a72a2a2697578ea4c59536ef9932b6..c83974ec425156aad3fefc34647b1d570b9f3c4a 100644 (file)
@@ -2,10 +2,10 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  Inspire is copyright (C) 2002-2005 ChatSpike-Dev.
+ *  InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
  *                       E-mail:
- *                <brain.net>
- *                <Craig.net>
+ *                <brain@chatspike.net>
+ *                <Craig@chatspike.net>
  *
  * Written by Craig Edwards, Craig McLure, and others.
  * This program is free but copyrighted software; see
  * ---------------------------------------------------
  */
 
-using namespace std;
-
 #include "inspircd_config.h"
 #include "inspircd.h"
-#include "inspircd_io.h"
-#include <time.h>
-#include <string>
-#ifdef GCC3
-#include <ext/hash_map>
-#else
-#include <hash_map>
-#endif
+#include "configreader.h"
+#include "hash_map.h"
 #include <sys/types.h>
 #include <sys/time.h>
 #include <sys/resource.h>
@@ -36,10 +28,7 @@ using namespace std;
 #define   RUSAGE_SELF     0
 #define   RUSAGE_CHILDREN     -1
 #endif
-#include <map>
-#include <sstream>
-#include <vector>
-#include <deque>
+
 #include "users.h"
 #include "ctables.h"
 #include "globals.h"
@@ -55,22 +44,17 @@ using namespace std;
 #include "helperfuncs.h"
 #include "hashcomp.h"
 #include "socketengine.h"
-#include "typedefs.h"
 #include "command_parse.h"
 #include "cmd_stats.h"
 
 extern ServerConfig* Config;
 extern InspIRCd* ServerInstance;
 extern int MODCOUNT;
-extern std::vector<Module*> modules;
-extern std::vector<ircd_module*> factory;
+extern ModuleList modules;
+extern FactoryList factory;
 extern time_t TIME;
 extern user_hash clientlist;
 extern chan_hash chanlist;
-extern whowas_hash whowas;
-extern std::vector<userrec*> all_opers;
-extern std::vector<userrec*> local_users;
-extern userrec* fd_ref_table[65536];
 
 void cmd_stats::Handle (char **parameters, int pcnt, userrec *user)
 {
@@ -78,10 +62,10 @@ void cmd_stats::Handle (char **parameters, int pcnt, userrec *user)
        {
                return;
        }
-       if (strlen(parameters[0])>1)
+       if (parameters[0][1])
        {
                /* make the stats query 1 character long */
-               parameters[0][1] = '\0';
+               parameters[0][1] = 0;
        }
 
        if ((*Config->OperOnlyStats) && (strchr(Config->OperOnlyStats,*parameters[0])) && (!*user->oper))
@@ -124,9 +108,9 @@ void cmd_stats::Handle (char **parameters, int pcnt, userrec *user)
        if (*parameters[0] == 'U')
        {
                char ulined[MAXBUF];
-               for (int i = 0; i < Config->ConfValueEnum("uline",&Config->config_f); i++)
+               for (int i = 0; i < Config->ConfValueEnum(Config->config_data, "uline"); i++)
                {
-                       Config->ConfValue("uline","server",i,ulined,&Config->config_f);
+                       Config->ConfValue(Config->config_data, "uline","server", i, ulined, MAXBUF);
                        WriteServ(user->fd,"248 %s U %s",user->nick,ulined);
                }
        }
@@ -136,7 +120,7 @@ void cmd_stats::Handle (char **parameters, int pcnt, userrec *user)
                int idx = 0;
                for (user_hash::iterator i = clientlist.begin(); i != clientlist.end(); i++)
                {
-                       if (strchr(i->second->modes,'o'))
+                       if (*i->second->oper)
                        {
                                WriteServ(user->fd,"249 %s :%s (%s@%s) Idle: %d",user->nick,i->second->nick,i->second->ident,i->second->dhost,(TIME - i->second->idle_lastmsg));
                                idx++;
@@ -206,25 +190,25 @@ void cmd_stats::Handle (char **parameters, int pcnt, userrec *user)
 
        if (*parameters[0] == 'T')
        {
-               WriteServ(user->fd,"249 Brain :accepts %d refused %d",ServerInstance->stats->statsAccept,ServerInstance->stats->statsRefused);
-               WriteServ(user->fd,"249 Brain :unknown commands %d",ServerInstance->stats->statsUnknown);
-               WriteServ(user->fd,"249 Brain :nick collisions %d",ServerInstance->stats->statsCollisions);
-               WriteServ(user->fd,"249 Brain :dns requests %d succeeded %d failed %d",ServerInstance->stats->statsDns,ServerInstance->stats->statsDnsGood,ServerInstance->stats->statsDnsBad);
-               WriteServ(user->fd,"249 Brain :connections %d",ServerInstance->stats->statsConnects);
-               WriteServ(user->fd,"249 Brain :bytes sent %dK recv %dK",(ServerInstance->stats->statsSent / 1024),(ServerInstance->stats->statsRecv / 1024));
+               WriteServ(user->fd,"249 %s :accepts %d refused %d",user->nick,ServerInstance->stats->statsAccept,ServerInstance->stats->statsRefused);
+               WriteServ(user->fd,"249 %s :unknown commands %d",user->nick,ServerInstance->stats->statsUnknown);
+               WriteServ(user->fd,"249 %s :nick collisions %d",user->nick,ServerInstance->stats->statsCollisions);
+               WriteServ(user->fd,"249 %s :dns requests %d succeeded %d failed %d",user->nick,ServerInstance->stats->statsDns,ServerInstance->stats->statsDnsGood,ServerInstance->stats->statsDnsBad);
+               WriteServ(user->fd,"249 %s :connections %d",user->nick,ServerInstance->stats->statsConnects);
+               WriteServ(user->fd,"249 %s :bytes sent %dK recv %dK",user->nick,(ServerInstance->stats->statsSent / 1024),(ServerInstance->stats->statsRecv / 1024));
        }
        
        /* stats o */
        if (*parameters[0] == 'o')
        {
-               for (int i = 0; i < Config->ConfValueEnum("oper",&Config->config_f); i++)
+               for (int i = 0; i < Config->ConfValueEnum(Config->config_data, "oper"); i++)
                {
                        char LoginName[MAXBUF];
                        char HostName[MAXBUF];
                        char OperType[MAXBUF];
-                       Config->ConfValue("oper","name",i,LoginName,&Config->config_f);
-                       Config->ConfValue("oper","host",i,HostName,&Config->config_f);
-                       Config->ConfValue("oper","type",i,OperType,&Config->config_f);
+                       Config->ConfValue(Config->config_data, "oper","name", i, LoginName, MAXBUF);
+                       Config->ConfValue(Config->config_data, "oper","host", i, HostName, MAXBUF);
+                       Config->ConfValue(Config->config_data, "oper","type", i, OperType, MAXBUF);
                        WriteServ(user->fd,"243 %s O %s * %s %s 0",user->nick,HostName,LoginName,OperType);
                }
        }
@@ -271,6 +255,3 @@ void cmd_stats::Handle (char **parameters, int pcnt, userrec *user)
        WriteOpers("*** Notice: Stats '%s' requested by %s (%s@%s)",parameters[0],user->nick,user->ident,user->host);
        
 }
-
-
-