* ---------------------------------------------------
*/
-#include <stdio.h>
-#include <string>
+#include "inspircd.h"
#include "users.h"
#include "channels.h"
#include "modules.h"
-#include "inspircd.h"
#include "m_filter.h"
/* $ModDesc: An advanced spam filtering module */
public:
ModuleFilter(InspIRCd* Me)
- : FilterBase::FilterBase(Me, "m_filter.so")
+ : FilterBase(Me, "m_filter.so")
{
OnRehash(NULL,"");
}
virtual FilterResult* FilterMatch(const std::string &text)
{
- std::string text2 = text+" ";
for (filter_t::iterator index = filters.begin(); index != filters.end(); index++)
{
- if ((ServerInstance->MatchText(text2,index->first)) || (ServerInstance->MatchText(text,index->first)))
+ if (ServerInstance->MatchText(text,index->first))
{
FilterResult* fr = index->second;
if (index != filters.begin())
{
std::string pat = index->first;
- filters.erase(fr);
+ filters.erase(index);
filters.insert(filters.begin(), std::make_pair(pat,fr));
}
return fr;
};
-extern "C" void * init_module( void )
+extern "C" DllExport void * init_module( void )
{
return new ModuleFilterFactory;
}