Merge pull request #10098 from AdmiralCurtiss/scan-dir-tree-trailing-slash

Common/FileUtil: Strip trailing path separator in ScanDirectoryTree().
This commit is contained in:
Léo Lam 2021-09-20 14:50:11 +02:00 committed by GitHub
commit b43cee8fe4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View File

@ -483,8 +483,16 @@ bool CreateEmptyFile(const std::string& filename)
} }
// Recursive or non-recursive list of files and directories under directory. // 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); INFO_LOG_FMT(COMMON, "ScanDirectoryTree: directory {}", directory);
FSTEntry parent_entry; FSTEntry parent_entry;
parent_entry.physicalName = directory; parent_entry.physicalName = directory;

View File

@ -176,7 +176,7 @@ bool Copy(const std::string& srcFilename, const std::string& destFilename);
bool CreateEmptyFile(const std::string& filename); bool CreateEmptyFile(const std::string& filename);
// Recursive or non-recursive list of files and directories under directory. // 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. // deletes the given directory and anything under it. Returns true on success.
bool DeleteDirRecursively(const std::string& directory); bool DeleteDirRecursively(const std::string& directory);