aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules
diff options
context:
space:
mode:
authorGravatar Sadie Powell2022-01-15 22:45:11 +0000
committerGravatar Sadie Powell2022-01-15 23:20:45 +0000
commit9059147974ffbe2bea55b9c2136307a77f465835 (patch)
treedd5e8a4a0634d4a9afbf14813c8779f7839f99f5 /src/modules
parentMerge branch 'insp3' into master. (diff)
Replace uses of the FileSystem class with std::filesystem.
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/m_nationalchars.cpp11
-rw-r--r--src/modules/m_xline_db.cpp7
2 files changed, 12 insertions, 6 deletions
diff --git a/src/modules/m_nationalchars.cpp b/src/modules/m_nationalchars.cpp
index 54f1dc962..890ab5547 100644
--- a/src/modules/m_nationalchars.cpp
+++ b/src/modules/m_nationalchars.cpp
@@ -32,9 +32,11 @@
Changed at 2008-06-15 - 2009-02-11
by Chernov-Phoenix Alexey (Phoenix@RusNet) mailto:phoenix /email address separator/ pravmail.ru */
-#include "inspircd.h"
+#include <filesystem>
#include <fstream>
+#include "inspircd.h"
+
class lwbNickHandler final
{
public:
@@ -273,17 +275,18 @@ class ModuleNationalChars final
{
auto tag = ServerInstance->Config->ConfValue("nationalchars");
charset = tag->getString("file");
- std::string casemapping = tag->getString("casemapping", FileSystem::GetFileName(charset), 1);
+ std::string casemapping = tag->getString("casemapping", std::filesystem::path(charset).filename(), 1);
if (casemapping.find(' ') != std::string::npos)
throw ModuleException(this, "<nationalchars:casemapping> must not contain any spaces!");
ServerInstance->Config->CaseMapping = std::move(casemapping);
+ if (!std::filesystem::path(charset).is_absolute())
+ {
#if defined _WIN32
- if (!FileSystem::StartsWithWindowsDriveLetter(charset))
charset.insert(0, "./locales/");
#else
- if(charset[0] != '/')
charset.insert(0, "../locales/");
#endif
+ }
unsigned char* tables[8] = { m_additional, m_additionalMB, m_additionalUp, m_lower, m_upper, m_additionalUtf8, m_additionalUtf8range, m_additionalUtf8interval };
if (!loadtables(charset, tables, 8, 5))
throw ModuleException(this, "The locale file failed to load. Check your log file for more information.");
diff --git a/src/modules/m_xline_db.cpp b/src/modules/m_xline_db.cpp
index 6df8036f1..83d1a7bd2 100644
--- a/src/modules/m_xline_db.cpp
+++ b/src/modules/m_xline_db.cpp
@@ -27,9 +27,11 @@
*/
+#include <filesystem>
+#include <fstream>
+
#include "inspircd.h"
#include "xline.h"
-#include <fstream>
class ModuleXLineDB final
: public Module
@@ -169,7 +171,8 @@ class ModuleXLineDB final
bool ReadDatabase()
{
// If the xline database doesn't exist then we don't need to load it.
- if (!FileSystem::FileExists(xlinedbpath))
+ std::error_code ec;
+ if (!std::filesystem::is_regular_file(xlinedbpath, ec))
return true;
std::ifstream stream(xlinedbpath);