X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_rline.cpp;h=86af010dec2d2cd3a5173e0fdd61f352925285ca;hb=65627cc9d9f3227ea6dc091dd62a71fbce41a5e2;hp=3b15ec89e82386e8fb57f7ff4097eeb5a717b422;hpb=be609949e3ec2543d6cb16d23240870028732f36;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_rline.cpp b/src/modules/m_rline.cpp index 3b15ec89e..86af010de 100644 --- a/src/modules/m_rline.cpp +++ b/src/modules/m_rline.cpp @@ -15,12 +15,12 @@ #include "m_regex.h" #include "xline.h" -static Module* rxengine = 0; -static Module* mymodule = 0; /* Needed to let RLine send request! */ +static Module* rxengine = NULL; +static Module* mymodule = NULL; /* Needed to let RLine send request! */ /* $ModDesc: RLINE: Regexp user banning. */ -class CoreExport RLine : public XLine +class RLine : public XLine { public: @@ -42,15 +42,10 @@ class CoreExport RLine : public XLine throw ModuleException("Regex engine not set or loaded!"); } - try - { - regex = RegexFactoryRequest(mymodule, rxengine, regexs).Create(); - } - catch (ModuleException& ex) - { - ServerInstance->SNO->WriteToSnoMask('x', "Bad regex: %s", ex.GetReason()); - throw ex; - } + /* This can throw on failure, but if it does we DONT catch it here, we catch it and display it + * where the object is created, we might not ALWAYS want it to output stuff to snomask x all the time + */ + regex = RegexFactoryRequest(mymodule, rxengine, regexs).Create(); } /** Destructor @@ -62,28 +57,13 @@ class CoreExport RLine : public XLine bool Matches(User *u) { - std::string compare = std::string(u->nick) + "!" + u->ident + "@" + u->host + " " + u->fullname; - - ServerInstance->Logs->Log("m_rline",DEBUG, "Matching " + matchtext + " against string " + compare); - - if (regex->Matches(compare)) - { - // Bang. :D - return true; - } - - return false; + std::string compare = u->nick + "!" + u->ident + "@" + u->host + " " + u->fullname; + return regex->Matches(compare); } bool Matches(const std::string &compare) { - if (regex->Matches(compare)) - { - // Bang. :D - return true; - } - - return false; + return regex->Matches(compare); } void Apply(User* u) @@ -109,10 +89,12 @@ class CoreExport RLine : public XLine /** An XLineFactory specialized to generate RLine* pointers */ -class CoreExport RLineFactory : public XLineFactory +class RLineFactory : public XLineFactory { public: - RLineFactory(InspIRCd* Instance) : XLineFactory(Instance, "R") { } + RLineFactory(InspIRCd* Instance) : XLineFactory(Instance, "R") + { + } /** Generate a RLine */ @@ -120,6 +102,10 @@ class CoreExport RLineFactory : public XLineFactory { return new RLine(ServerInstance, set_time, duration, source, reason, xline_specific_mask); } + + ~RLineFactory() + { + } }; /** Handle /RLINE