X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_watch.cpp;h=9b98ca83badedc4b958e6ab5f3301e89b55b1b08;hb=8085aa879bd989b526791797910295944a364084;hp=fd48f7f04571f4e740c02791558eb2def100074e;hpb=7901c49c541860a6c120b9220bf6196e4d3672f7;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_watch.cpp b/src/modules/m_watch.cpp index fd48f7f04..9b98ca83b 100644 --- a/src/modules/m_watch.cpp +++ b/src/modules/m_watch.cpp @@ -2,8 +2,8 @@ * | Inspire Internet Relay Chat Daemon | * +------------------------------------+ * - * InspIRCd: (C) 2002-2008 InspIRCd Development Team - * See: http://www.inspircd.org/wiki/index.php/Credits + * InspIRCd: (C) 2002-2009 InspIRCd Development Team + * See: http://wiki.inspircd.org/Credits * * This program is free but copyrighted software; see * the file COPYING for details. @@ -87,10 +87,10 @@ * Before you start screaming, this definition is only used here, so moving it to a header is pointless. * Yes, it's horrid. Blame cl for being different. -- w00t */ -#ifdef WINDOWS -typedef nspace::hash_map, nspace::hash_compare > > watchentries; +#if defined(WINDOWS) && !defined(HASHMAP_DEPRECATED) + typedef nspace::hash_map, nspace::hash_compare > > watchentries; #else -typedef nspace::hash_map, nspace::hash > watchentries; + typedef nspace::hash_map, nspace::hash > watchentries; #endif typedef std::map watchlist; @@ -183,11 +183,7 @@ class CommandWatch : public Command } } - /* This might seem confusing, but we return CMD_FAILURE - * to indicate that this message shouldnt be routed across - * the network to other linked servers. - */ - return CMD_FAILURE; + return CMD_LOCALONLY; } CmdResult add_watch(User* user, const char* nick) @@ -252,7 +248,7 @@ class CommandWatch : public Command } } - return CMD_FAILURE; + return CMD_LOCALONLY; } CommandWatch (InspIRCd* Instance, unsigned int &maxwatch) : Command(Instance,"WATCH",0,0), MAX_WATCH(maxwatch) @@ -365,32 +361,29 @@ class CommandWatch : public Command } } } - /* So that spanningtree doesnt pass the WATCH commands to the network! */ - return CMD_FAILURE; + return CMD_LOCALONLY; } }; class Modulewatch : public Module { - CommandWatch* mycommand; - CommandSVSWatch *sw; unsigned int maxwatch; + CommandWatch cmdw; + CommandSVSWatch sw; public: Modulewatch(InspIRCd* Me) - : Module(Me), maxwatch(32) + : Module(Me), maxwatch(32), cmdw(Me, maxwatch), sw(Me) { - OnRehash(NULL, ""); + OnRehash(NULL); whos_watching_me = new watchentries(); - mycommand = new CommandWatch(ServerInstance, maxwatch); - ServerInstance->AddCommand(mycommand); - sw = new CommandSVSWatch(ServerInstance); - ServerInstance->AddCommand(sw); + ServerInstance->AddCommand(&cmdw); + ServerInstance->AddCommand(&sw); Implementation eventlist[] = { I_OnRehash, I_OnGarbageCollect, I_OnCleanup, I_OnUserQuit, I_OnPostConnect, I_OnUserPostNick, I_On005Numeric, I_OnSetAway }; ServerInstance->Modules->Attach(eventlist, this, 8); } - virtual void OnRehash(User* user, const std::string ¶meter) + virtual void OnRehash(User* user) { ConfigReader Conf(ServerInstance); maxwatch = Conf.ReadInteger("watch", "maxentries", 0, true);