/*
* InspIRCd -- Internet Relay Chat Daemon
*
- * Copyright (C) 2012 ChrisTX <chris@rev-crew.info>
+ * Copyright (C) 2019 Robby <robby@chatbelgie.be>
+ * Copyright (C) 2013, 2016, 2018, 2020-2021 Sadie Powell <sadie@witchery.services>
+ * Copyright (C) 2013 Attila Molnar <attilamolnar@hush.com>
+ * Copyright (C) 2012 ChrisTX <xpipe@hotmail.de>
*
* This file is part of InspIRCd. InspIRCd is free software: you can
* redistribute it and/or modify it under the terms of the GNU General Public
public:
StdRegex(const std::string& rx, std::regex::flag_type fltype) : Regex(rx)
{
- try{
+ try
+ {
regexcl.assign(rx, fltype | std::regex::optimize);
}
- catch(std::regex_error rxerr)
+ catch(const std::regex_error& rxerr)
{
throw RegexException(rx, rxerr.what());
}
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Regex Provider Module for std::regex", VF_VENDOR);
+ return Version("Provides the stdregex regular expression engine which uses the C++11 std::regex regular expression matching system.", VF_VENDOR);
}
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
{
ConfigTag* Conf = ServerInstance->Config->ConfValue("stdregex");
- std::string regextype = Conf->getString("type", "ecmascript");
+ const std::string regextype = Conf->getString("type", "ecmascript", 1);
if (stdalgo::string::equalsci(regextype, "bre"))
ref.regextype = std::regex::basic;
else if (stdalgo::string::equalsci(regextype, "ere"))