diff options
author | Lioncash <mathew1800@gmail.com> | 2018-07-22 04:36:19 +0200 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2018-07-22 04:42:08 +0200 |
commit | 0ba7fe4ab11d5c7a934a1b45b374f3277bc9f2cf (patch) | |
tree | 3753ff286d37c247cde5c6be66740641bba587c1 /src/common | |
parent | file_util: std::move FST entries in ScanDirectoryTree() (diff) | |
download | yuzu-0ba7fe4ab11d5c7a934a1b45b374f3277bc9f2cf.tar yuzu-0ba7fe4ab11d5c7a934a1b45b374f3277bc9f2cf.tar.gz yuzu-0ba7fe4ab11d5c7a934a1b45b374f3277bc9f2cf.tar.bz2 yuzu-0ba7fe4ab11d5c7a934a1b45b374f3277bc9f2cf.tar.lz yuzu-0ba7fe4ab11d5c7a934a1b45b374f3277bc9f2cf.tar.xz yuzu-0ba7fe4ab11d5c7a934a1b45b374f3277bc9f2cf.tar.zst yuzu-0ba7fe4ab11d5c7a934a1b45b374f3277bc9f2cf.zip |
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/file_util.cpp | 18 | ||||
-rw-r--r-- | src/common/file_util.h | 8 |
2 files changed, 13 insertions, 13 deletions
diff --git a/src/common/file_util.cpp b/src/common/file_util.cpp index 543adbffb..47ac8368e 100644 --- a/src/common/file_util.cpp +++ b/src/common/file_util.cpp @@ -396,12 +396,12 @@ bool CreateEmptyFile(const std::string& filename) { return true; } -bool ForeachDirectoryEntry(unsigned* num_entries_out, const std::string& directory, +bool ForeachDirectoryEntry(u64* num_entries_out, const std::string& directory, DirectoryEntryCallable callback) { LOG_TRACE(Common_Filesystem, "directory {}", directory); // How many files + directories we found - unsigned found_entries = 0; + u64 found_entries = 0; // Save the status of callback function bool callback_error = false; @@ -431,7 +431,7 @@ bool ForeachDirectoryEntry(unsigned* num_entries_out, const std::string& directo if (virtual_name == "." || virtual_name == "..") continue; - unsigned ret_entries = 0; + u64 ret_entries = 0; if (!callback(&ret_entries, directory, virtual_name)) { callback_error = true; break; @@ -455,9 +455,9 @@ bool ForeachDirectoryEntry(unsigned* num_entries_out, const std::string& directo return true; } -unsigned ScanDirectoryTree(const std::string& directory, FSTEntry& parent_entry, - unsigned int recursion) { - const auto callback = [recursion, &parent_entry](unsigned* num_entries_out, +u64 ScanDirectoryTree(const std::string& directory, FSTEntry& parent_entry, + unsigned int recursion) { + const auto callback = [recursion, &parent_entry](u64* num_entries_out, const std::string& directory, const std::string& virtual_name) -> bool { FSTEntry entry; @@ -469,7 +469,7 @@ unsigned ScanDirectoryTree(const std::string& directory, FSTEntry& parent_entry, // is a directory, lets go inside if we didn't recurse to often if (recursion > 0) { entry.size = ScanDirectoryTree(entry.physicalName, entry, recursion - 1); - *num_entries_out += (int)entry.size; + *num_entries_out += entry.size; } else { entry.size = 0; } @@ -484,12 +484,12 @@ unsigned ScanDirectoryTree(const std::string& directory, FSTEntry& parent_entry, return true; }; - unsigned num_entries; + u64 num_entries; return ForeachDirectoryEntry(&num_entries, directory, callback) ? num_entries : 0; } bool DeleteDirRecursively(const std::string& directory, unsigned int recursion) { - const auto callback = [recursion](unsigned* num_entries_out, const std::string& directory, + const auto callback = [recursion](u64* num_entries_out, const std::string& directory, const std::string& virtual_name) -> bool { std::string new_path = directory + DIR_SEP_CHR + virtual_name; diff --git a/src/common/file_util.h b/src/common/file_util.h index ff01bf0ff..090907c03 100644 --- a/src/common/file_util.h +++ b/src/common/file_util.h @@ -84,7 +84,7 @@ bool CreateEmptyFile(const std::string& filename); * @return whether handling the entry succeeded */ using DirectoryEntryCallable = std::function<bool( - unsigned* num_entries_out, const std::string& directory, const std::string& virtual_name)>; + u64* num_entries_out, const std::string& directory, const std::string& virtual_name)>; /** * Scans a directory, calling the callback for each file/directory contained within. @@ -95,7 +95,7 @@ using DirectoryEntryCallable = std::function<bool( * @param callback The callback which will be called for each entry * @return whether scanning the directory succeeded */ -bool ForeachDirectoryEntry(unsigned* num_entries_out, const std::string& directory, +bool ForeachDirectoryEntry(u64* num_entries_out, const std::string& directory, DirectoryEntryCallable callback); /** @@ -105,8 +105,8 @@ bool ForeachDirectoryEntry(unsigned* num_entries_out, const std::string& directo * @param recursion Number of children directories to read before giving up. * @return the total number of files/directories found */ -unsigned ScanDirectoryTree(const std::string& directory, FSTEntry& parent_entry, - unsigned int recursion = 0); +u64 ScanDirectoryTree(const std::string& directory, FSTEntry& parent_entry, + unsigned int recursion = 0); // deletes the given directory and anything under it. Returns true on success. bool DeleteDirRecursively(const std::string& directory, unsigned int recursion = 256); |