]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/cmd_modules.cpp
Remove unused debug
[user/henk/code/inspircd.git] / src / cmd_modules.cpp
index 650f2c58761498062535b70abd3c3fd212e918d7..bd5848d928f4e3510fabd9d9a798898070d2df9d 100644 (file)
  * ---------------------------------------------------
  */
 
-#include <time.h>
-#include <string>
-#include <map>
-#include <sstream>
-#include <vector>
-#include <deque>
-#include "inspircd_config.h"
 #include "inspircd.h"
 #include "configreader.h"
-#include "hash_map.h"
 #include "users.h"
 #include "modules.h"
-#include "commands.h"
-#include "helperfuncs.h"
 #include "wildcard.h"
 #include "commands/cmd_modules.h"
 
-extern InspIRCd* ServerInstance;
-extern int MODCOUNT;
-extern std::vector<Module*> modules;
-extern std::vector<ircd_module*> factory;
-
 char* itab[] = {
        "OnUserConnect", "OnUserQuit", "OnUserDisconnect", "OnUserJoin", "OnUserPart", "OnRehash", "OnServerRaw",
        "OnExtendedMode", "OnUserPreJoin", "OnUserPreKick", "OnUserKick", "OnOper", "OnInfo", "OnWhois", "OnUserPreInvite",
@@ -44,18 +29,26 @@ char* itab[] = {
        "OnDecodeMetaData", "ProtoSendMode", "ProtoSendMetaData", "OnWallops", "OnChangeHost", "OnChangeName", "OnAddGLine",
        "OnAddZLine", "OnAddQLine", "OnAddKLine", "OnAddELine", "OnDelGLine", "OnDelZLine", "OnDelKLine", "OnDelELine", "OnDelQLine",
        "OnCleanup", "OnUserPostNick", "OnAccessCheck", "On005Numeric", "OnKill", "OnRemoteKill", "OnLoadModule", "OnUnloadModule",
-       "OnBackgroundTimer", "OnSendList", "OnPreCommand", "OnCheckReady", "OnUserRrgister", "OnRawMode", "OnCheckInvite",
+       "OnBackgroundTimer", "OnSendList", "OnPreCommand", "OnCheckReady", "OnUserRrgister", "OnCheckInvite",
        "OnCheckKey", "OnCheckLimit", "OnCheckBan", "OnStats", "OnChangeLocalUserHost", "OnChangeLocalUserGecos", "OnLocalTopicChange",
-       "OnPostLocalTopicChange", "OnEvent", "OnRequest", "OnOperCompre", "OnGlobalOper", "OnGlobalConnect", "OnAddBan", "OnDelBan",
+       "OnPostLocalTopicChange", "OnEvent", "OnRequest", "OnOperCompre", "OnGlobalOper", "OnPostConnect", "OnAddBan", "OnDelBan",
        "OnRawSocketAccept", "OnRawSocketClose", "OnRawSocketWrite", "OnRawSocketRead", "OnChangeLocalUserGECOS", "OnUserRegister",
-       "OnOperCompare", "OnChannelDelete", "OnPostOper", "OnSyncOtherMetaData", "OnSetAway", "OnCancelAway", NULL
+       "OnOperCompare", "OnChannelDelete", "OnPostOper", "OnSyncOtherMetaData", "OnSetAway", "OnCancelAway", "OnNamesList",
+       "OnPostCommand", "OnPostJoin", "OnWhoisLine", "OnBuildExemptList", "OnRawSocketConnect", NULL
 };
 
-void cmd_modules::Handle (const char** parameters, int pcnt, userrec *user)
+extern "C" command_t* init_command(InspIRCd* Instance)
+{
+       return new cmd_modules(Instance);
+}
+
+/** Handle /MODULES
+ */
+CmdResult cmd_modules::Handle (const char** parameters, int pcnt, userrec *user)
 {
        for (unsigned int i = 0; i < ServerInstance->Config->module_names.size(); i++)
        {
-               Version V = modules[i]->GetVersion();
+               Version V = ServerInstance->modules[i]->GetVersion();
                char modulename[MAXBUF];
                char flagstate[MAXBUF];
                *flagstate = 0;
@@ -76,7 +69,7 @@ void cmd_modules::Handle (const char** parameters, int pcnt, userrec *user)
                        {
                                if (match(ServerInstance->Config->module_names[i].c_str(),parameters[1]))
                                {
-                                       user->WriteServ("900 %s :0x%08lx %d.%d.%d.%d %s (%s)",user->nick,modules[i],V.Major,V.Minor,V.Revision,V.Build,ServerConfig::CleanFilename(modulename),flagstate+2);
+                                       user->WriteServ("900 %s :0x%08lx %d.%d.%d.%d %s (%s)",user->nick,ServerInstance->modules[i],V.Major,V.Minor,V.Revision,V.Build,ServerConfig::CleanFilename(modulename),flagstate+2);
                                        for (int it = 0; itab[it];)
                                        {
                                                char data[MAXBUF];
@@ -89,7 +82,7 @@ void cmd_modules::Handle (const char** parameters, int pcnt, userrec *user)
                                                                if (ServerInstance->Config->implement_lists[i][it])
                                                                {
                                                                        snprintf(data,MAXBUF,"%s=>%c ",itab[it],(ServerInstance->Config->implement_lists[i][it] ? '1' : '0'));
-                                                                       strncat(dlist,data,MAXBUF);
+                                                                       strlcat(dlist,data,MAXBUF);
                                                                }
                                                                it++;
                                                        }
@@ -107,7 +100,7 @@ void cmd_modules::Handle (const char** parameters, int pcnt, userrec *user)
                        }
                        else
                        {
-                               user->WriteServ("900 %s :0x%08lx %d.%d.%d.%d %s (%s)",user->nick,modules[i],V.Major,V.Minor,V.Revision,V.Build,ServerConfig::CleanFilename(modulename),flagstate+2);
+                               user->WriteServ("900 %s :0x%08lx %d.%d.%d.%d %s (%s)",user->nick,ServerInstance->modules[i],V.Major,V.Minor,V.Revision,V.Build,ServerConfig::CleanFilename(modulename),flagstate+2);
                        }
                }
                else
@@ -116,4 +109,6 @@ void cmd_modules::Handle (const char** parameters, int pcnt, userrec *user)
                }
        }
        user->WriteServ("901 %s :End of MODULES list",user->nick);
+
+       return CMD_SUCCESS;
 }