From 7ac1fe58478d58e2480b6919c4abf3a82929169c Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Wed, 24 Jan 2024 12:01:50 +0000 Subject: Rename several modules to remove the m_ prefix. --- modules/m_regex_stdlib.cpp | 107 --------------------------------------------- 1 file changed, 107 deletions(-) delete mode 100644 modules/m_regex_stdlib.cpp (limited to 'modules/m_regex_stdlib.cpp') diff --git a/modules/m_regex_stdlib.cpp b/modules/m_regex_stdlib.cpp deleted file mode 100644 index d759cc8fd..000000000 --- a/modules/m_regex_stdlib.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/* - * - * (C) 2012-2024 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "module.h" - -#include - -class StdLibRegex final - : public Regex -{ -private: - std::regex regex; - -public: - StdLibRegex(const Anope::string &expr, std::regex::flag_type type) - : Regex(expr) - { - try - { - regex.assign(expr.str(), type | std::regex::optimize); - } - catch (const std::regex_error& error) - { - throw RegexException("Error in regex " + expr + ": " + error.what()); - } - } - - bool Matches(const Anope::string &str) - { - return std::regex_search(str.str(), regex); - } -}; - -class StdLibRegexProvider final - : public RegexProvider -{ -public: - std::regex_constants::syntax_option_type type; - - StdLibRegexProvider(Module *creator) - : RegexProvider(creator, "regex/stdlib") - { - } - - Regex *Compile(const Anope::string &expression) override - { - return new StdLibRegex(expression, type); - } -}; - -class ModuleRegexStdLib final - : public Module -{ -private: - StdLibRegexProvider stdlib_regex_provider; - -public: - ModuleRegexStdLib(const Anope::string &modname, const Anope::string &creator) - : Module(modname, creator, EXTRA | VENDOR) - , stdlib_regex_provider(this) - { - this->SetPermanent(true); - } - - void OnReload(Configuration::Conf *conf) override - { - Configuration::Block *block = conf->GetModule(this); - - const Anope::string syntax = block->Get("syntax", "ecmascript"); - if (syntax == "awk") - stdlib_regex_provider.type = std::regex::awk; - else if (syntax == "basic") - stdlib_regex_provider.type = std::regex::basic; - else if (syntax == "ecmascript") - stdlib_regex_provider.type = std::regex::ECMAScript; - else if (syntax == "egrep") - stdlib_regex_provider.type = std::regex::egrep; - else if (syntax == "extended") - stdlib_regex_provider.type = std::regex::extended; - else if (syntax == "grep") - stdlib_regex_provider.type = std::regex::grep; - else - throw ConfigException(this->name + ": syntax must be set to awk, basic, ecmascript, egrep, extended, or grep."); - } - - ~ModuleRegexStdLib() - { - for (auto *xlm : XLineManager::XLineManagers) - { - for (auto *x : xlm->GetList()) - { - if (x->regex && dynamic_cast(x->regex)) - { - delete x->regex; - x->regex = NULL; - } - } - } - } -}; - -MODULE_INIT(ModuleRegexStdLib) -- cgit