diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-08-30 09:03:03 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-08-30 09:03:03 +0000 |
commit | d54fd9b1e6b31f69332a9241b5f17330c0ad61e0 (patch) | |
tree | 4f71ce0d23547f7e634f3e8a45982db201c8f8b1 /src/modules/m_safelist.cpp | |
parent | 88315e8f8f0128325e17fce1fa942cc02c6e0e38 (diff) |
Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include lists
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_safelist.cpp')
-rw-r--r-- | src/modules/m_safelist.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/modules/m_safelist.cpp b/src/modules/m_safelist.cpp index 1f7f2742f..831ddcac5 100644 --- a/src/modules/m_safelist.cpp +++ b/src/modules/m_safelist.cpp @@ -19,10 +19,9 @@ using namespace std; #include "users.h" #include "channels.h" #include "modules.h" - -#include <vector> #include "configreader.h" #include "inspircd.h" +#include "wildcard.h" class ListData : public classbase { @@ -30,9 +29,10 @@ class ListData : public classbase long list_start; long list_position; bool list_ended; + const std::string glob; ListData() : list_start(0), list_position(0), list_ended(false) {}; - ListData(long pos, time_t t) : list_start(t), list_position(pos), list_ended(false) {}; + ListData(long pos, time_t t, const std::string &pattern) : list_start(t), list_position(pos), list_ended(false), glob(pattern) {}; }; /* $ModDesc: A module overriding /list, and making it safe - stop those sendq problems. */ @@ -52,6 +52,7 @@ class ListTimer : public InspTimer char buffer[MAXBUF]; chanrec *chan; InspIRCd* ServerInstance; + const std::string glob; public: @@ -99,6 +100,8 @@ class ListTimer : public InspTimer chan = ServerInstance->GetChannelIndex(ld->list_position); /* spool details */ bool has_user = (chan && chan->HasUser(u)); + if (!match(chan->name, ld->glob.c_str())) + continue; if ((chan) && (((!(chan->modes[CM_PRIVATE])) && (!(chan->modes[CM_SECRET]))) || (has_user))) { long users = chan->GetUserCounter(); @@ -210,7 +213,7 @@ class ModuleSafeList : public Module /* * start at channel 0! ;) */ - ld = new ListData(0,ServerInstance->Time()); + ld = new ListData(0,ServerInstance->Time(), pcnt ? parameters[0] : "*"); user->Extend("safelist_cache", ld); listusers.push_back(user); @@ -263,11 +266,8 @@ class ModuleSafeList : public Module } }; - - - -/******************************************************************************************************/ - + + class ModuleSafeListFactory : public ModuleFactory { public: |