From 832af1c6685bb1a5bb437915b77f25c3aef9c5a1 Mon Sep 17 00:00:00 2001 From: goeiecool9999 <> Date: Thu, 8 Sep 2022 14:29:19 +0200 Subject: [PATCH] Another mistake --- src/Cafe/Filesystem/FSPath.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/Cafe/Filesystem/FSPath.cpp b/src/Cafe/Filesystem/FSPath.cpp index 8806216d..0c90c035 100644 --- a/src/Cafe/Filesystem/FSPath.cpp +++ b/src/Cafe/Filesystem/FSPath.cpp @@ -1,5 +1,7 @@ #include "FSPath.h" +#include + #ifdef BOOST_OS_UNIX FSPath operator/ (const FSPath& lhs, const FSPath& rhs) { @@ -22,6 +24,17 @@ FSPath& FSPath::operator/= (const FSPath & rhs) fs::path relPath = rhs.relative_path(); fs::path correctedPath = empty() ? rhs.root_path() : *this; + // helper function to convert a path's alphabet characters to lowercase. + auto static lowercase_path = [](fs::path const & path) + { + std::string string = path.string(); + for (auto& i : string) + { + i = std::isalpha(i) ? std::tolower(i) : i; + } + return string; + }; + bool found; for (auto const &it : relPath) { @@ -30,7 +43,7 @@ FSPath& FSPath::operator/= (const FSPath & rhs) for (auto const& dirEntry : fs::directory_iterator{correctedPath, listErr}) { fs::path entryName = dirEntry.path().filename(); - if (boost::iequals(entryName, it)) + if (boost::iequals(entryName.string(), it.string())) { correctedPath /= entryName; found = true;