* ---------------------------------------------------
*/
+#include "inspircd.h"
#include "users.h"
#include "channels.h"
#include "modules.h"
#include "hashcomp.h"
-#include "inspircd.h"
/* $ModDesc: Provides support for the /WATCH command */
* of users using WATCH.
*/
+/*
+ * 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<irc::string, std::deque<userrec*>, nspace::hash_compare<irc::string, less<irc::string> > > watchentries;
#else
typedef nspace::hash_map<irc::string, std::deque<userrec*>, nspace::hash<irc::string> > watchentries;
#endif
-typedef std::map<irc::string, std::string>watchlist;
+typedef std::map<irc::string, std::string> watchlist;
/* Who's watching each nickname.
* NOTE: We do NOT iterate this to display a user's WATCH list!
{
if (!user->Visibility || user->Visibility->VisibleTo(user))
(*n)->WriteServ("601 %s %s %s %s %lu :went offline", (*n)->nick, oldnick.c_str(), user->ident, user->dhost, user->age);
- (*wl)[user->nick] = "";
+ (*wl)[oldnick.c_str()] = "";
}
}
}
}
};
-
-class ModulewatchFactory : public ModuleFactory
-{
- public:
- ModulewatchFactory()
- {
- }
-
- ~ModulewatchFactory()
- {
- }
-
- virtual Module * CreateModule(InspIRCd* Me)
- {
- return new Modulewatch(Me);
- }
-
-};
-
-
-extern "C" DllExport void * init_module( void )
-{
- return new ModulewatchFactory;
-}
+MODULE_INIT(Modulewatch);