diff options
| author | 2022-01-15 22:45:11 +0000 | |
|---|---|---|
| committer | 2022-01-15 23:20:45 +0000 | |
| commit | 9059147974ffbe2bea55b9c2136307a77f465835 (patch) | |
| tree | dd5e8a4a0634d4a9afbf14813c8779f7839f99f5 /src/modules | |
| parent | Merge 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.cpp | 11 | ||||
| -rw-r--r-- | src/modules/m_xline_db.cpp | 7 |
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); |
