From 52bc8e4bc799d38e92d38d497a2bd055950841bb Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 2 Apr 2014 13:06:48 -0400 Subject: Remove regex mods, use std::regex instead --- src/config.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/config.cpp') diff --git a/src/config.cpp b/src/config.cpp index 0275cb7f8..6473cf830 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -115,6 +115,7 @@ Conf::Conf() : Block("") { ReadTimeout = 0; UsePrivmsg = DefPrivmsg = false; + regex_flags = 0; this->LoadConf(ServicesConf); @@ -526,6 +527,25 @@ Conf::Conf() : Block("") if (!options->Get("seed")) Log() << "Configuration option options:seed should be set. It's for YOUR safety! Remember that!"; + /* check regexengine */ + const Anope::string ®ex_engine = options->Get("regexengine"); + if (regex_engine == "ecmascript") + regex_flags = std::regex::ECMAScript; + else if (regex_engine == "basic") + regex_flags = std::regex::basic; + else if (regex_engine == "extended") + regex_flags = std::regex::extended; + else if (regex_engine == "awk") + regex_flags = std::regex::awk; + else if (regex_engine == "grep") + regex_flags = std::regex::grep; + else if (regex_engine == "egrep") + regex_flags = std::regex::egrep; + /* always enable icase and optimize */ + if (regex_flags) + regex_flags |= std::regex::icase | std::regex::optimize; + + /* apply changes from an older config? */ if (Config) { /* Apply module chnages */ -- cgit