From f76aaf65f6dfc56282347b87d78feca536a105b0 Mon Sep 17 00:00:00 2001 From: "Admiral H. Curtiss" Date: Tue, 14 Sep 2021 06:51:34 +0200 Subject: [PATCH] Common/FileUtil: Strip trailing path separator in ScanDirectoryTree(). --- Source/Core/Common/FileUtil.cpp | 10 +++++++++- Source/Core/Common/FileUtil.h | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Source/Core/Common/FileUtil.cpp b/Source/Core/Common/FileUtil.cpp index 2204f066e4..1bc92c8d70 100644 --- a/Source/Core/Common/FileUtil.cpp +++ b/Source/Core/Common/FileUtil.cpp @@ -483,8 +483,16 @@ bool CreateEmptyFile(const std::string& filename) } // Recursive or non-recursive list of files and directories under directory. -FSTEntry ScanDirectoryTree(const std::string& directory, bool recursive) +FSTEntry ScanDirectoryTree(std::string directory, bool recursive) { +#ifdef _WIN32 + if (!directory.empty() && (directory.back() == '/' || directory.back() == '\\')) + directory.pop_back(); +#else + if (!directory.empty() && directory.back() == '/') + directory.pop_back(); +#endif + INFO_LOG_FMT(COMMON, "ScanDirectoryTree: directory {}", directory); FSTEntry parent_entry; parent_entry.physicalName = directory; diff --git a/Source/Core/Common/FileUtil.h b/Source/Core/Common/FileUtil.h index 1a487bbe4e..e2021bdab4 100644 --- a/Source/Core/Common/FileUtil.h +++ b/Source/Core/Common/FileUtil.h @@ -176,7 +176,7 @@ bool Copy(const std::string& srcFilename, const std::string& destFilename); bool CreateEmptyFile(const std::string& filename); // Recursive or non-recursive list of files and directories under directory. -FSTEntry ScanDirectoryTree(const std::string& directory, bool recursive); +FSTEntry ScanDirectoryTree(std::string directory, bool recursive); // deletes the given directory and anything under it. Returns true on success. bool DeleteDirRecursively(const std::string& directory);